Skip to content

Commit 1b30d1f

Browse files
committed
Update ga4_tracking_edit_test to add test for tracking on guides
1 parent bbf1e4c commit 1b30d1f

1 file changed

Lines changed: 118 additions & 1 deletion

File tree

test/integration/ga4_tracking_edit_test.rb

Lines changed: 118 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class Ga4TrackingEditTest < JavascriptIntegrationTest
88
setup_users
99

1010
@edition = FactoryBot.create(:answer_edition, title: "Answer edition")
11-
@guide_edition = FactoryBot.create(:guide_edition, title: "Guide edition")
11+
@guide_edition = FactoryBot.create(:guide_edition_with_two_parts, title: "Guide edition")
1212
@assigned_edition = FactoryBot.create(:edition, assigned_to: @author, created_at: 5.days.ago)
1313
@in_review_edition = FactoryBot.create(:edition, :in_review, reviewer: @reviewer, created_at: 6.days.ago)
1414

@@ -93,6 +93,123 @@ class Ga4TrackingEditTest < JavascriptIntegrationTest
9393
end
9494
end
9595

96+
context "Edit page of a Guide edition" do
97+
setup do
98+
visit edition_path(@guide_edition)
99+
disable_links
100+
disable_form_submit
101+
end
102+
103+
should "push the correct values to the dataLayer when Guide edition accordion controls are clicked" do
104+
click_button "Show all sections"
105+
within all(".govuk-accordion__section-header")[0] do
106+
click_button "Hide"
107+
click_button "Show"
108+
end
109+
within all(".govuk-accordion__section-content")[0] do
110+
click_link "Delete chapter"
111+
end
112+
within all(".govuk-accordion__section-header")[1] do
113+
click_button "Hide"
114+
click_button "Show"
115+
end
116+
within all(".govuk-accordion__section-content")[1] do
117+
click_link "Delete chapter"
118+
end
119+
click_link "Add a new chapter"
120+
click_button "Hide all sections"
121+
click_button "Save"
122+
123+
event_data = get_event_data
124+
125+
# click_button "Show all sections"
126+
assert_equal "opened", event_data[0]["action"]
127+
assert_equal "select_content", event_data[0]["event_name"]
128+
assert_equal "accordion", event_data[0]["type"]
129+
assert_equal "Show all sections", event_data[0]["text"]
130+
assert_equal "0", event_data[0]["index"]["index_section"]
131+
assert_equal "2", event_data[0]["index"]["index_section_count"]
132+
133+
# click_button "Hide"
134+
assert_equal "closed", event_data[1]["action"]
135+
assert_equal "select_content", event_data[1]["event_name"]
136+
assert_equal "accordion", event_data[1]["type"]
137+
assert_equal @guide_edition.parts[0].title, event_data[1]["text"]
138+
assert_equal "1", event_data[1]["index"]["index_section"]
139+
assert_equal "2", event_data[1]["index"]["index_section_count"]
140+
141+
# click_button "Show"
142+
assert_equal "opened", event_data[2]["action"]
143+
assert_equal "select_content", event_data[2]["event_name"]
144+
assert_equal "accordion", event_data[2]["type"]
145+
assert_equal @guide_edition.parts[0].title, event_data[2]["text"]
146+
assert_equal "1", event_data[2]["index"]["index_section"]
147+
assert_equal "2", event_data[2]["index"]["index_section_count"]
148+
149+
# click_link "Delete chapter"
150+
assert_equal "navigation", event_data[3]["event_name"]
151+
assert_equal "accordion", event_data[3]["type"]
152+
assert_equal "Delete chapter", event_data[3]["text"]
153+
assert_equal "2", event_data[3]["index"]["index_link"]
154+
assert_equal "1", event_data[3]["index"]["index_section"]
155+
assert_equal "2", event_data[3]["index"]["index_section_count"]
156+
assert_equal current_host, event_data[3]["link_domain"]
157+
assert_equal "/editions/#{@guide_edition.id}/guide_parts/#{@guide_edition.parts[0].id}/confirm_destroy", event_data[3]["url"]
158+
159+
# click_button "Hide"
160+
assert_equal "closed", event_data[4]["action"]
161+
assert_equal "select_content", event_data[4]["event_name"]
162+
assert_equal "accordion", event_data[4]["type"]
163+
assert_equal @guide_edition.parts[1].title, event_data[4]["text"]
164+
assert_equal "2", event_data[4]["index"]["index_section"]
165+
assert_equal "2", event_data[4]["index"]["index_section_count"]
166+
167+
# click_button "Show"
168+
assert_equal "opened", event_data[5]["action"]
169+
assert_equal "select_content", event_data[5]["event_name"]
170+
assert_equal "accordion", event_data[5]["type"]
171+
assert_equal @guide_edition.parts[1].title, event_data[5]["text"]
172+
assert_equal "2", event_data[5]["index"]["index_section"]
173+
assert_equal "2", event_data[5]["index"]["index_section_count"]
174+
175+
# click_link "Delete chapter"
176+
assert_equal "navigation", event_data[6]["event_name"]
177+
assert_equal "accordion", event_data[6]["type"]
178+
assert_equal "Delete chapter", event_data[6]["text"]
179+
assert_equal "2", event_data[6]["index"]["index_link"]
180+
assert_equal "2", event_data[6]["index"]["index_section"]
181+
assert_equal "2", event_data[6]["index"]["index_section_count"]
182+
assert_equal current_host, event_data[6]["link_domain"]
183+
assert_equal "/editions/#{@guide_edition.id}/guide_parts/#{@guide_edition.parts[1].id}/confirm_destroy", event_data[6]["url"]
184+
185+
# click_link "Add a new chapter"
186+
assert_equal "navigation", event_data[7]["event_name"]
187+
assert_equal "accordion", event_data[7]["type"]
188+
assert_equal "Add a new chapter", event_data[7]["text"]
189+
assert_equal "1", event_data[7]["index"]["index_link"]
190+
assert_equal "1", event_data[7]["index"]["index_section"]
191+
assert_equal "1", event_data[7]["index"]["index_section_count"]
192+
assert_equal current_host, event_data[7]["link_domain"]
193+
assert_equal "/editions/#{@guide_edition.id}/guide_parts/new", event_data[7]["url"]
194+
195+
# click_button "Hide all sections"
196+
assert_equal "closed", event_data[8]["action"]
197+
assert_equal "select_content", event_data[8]["event_name"]
198+
assert_equal "accordion", event_data[8]["type"]
199+
assert_equal "Hide all sections", event_data[8]["text"]
200+
assert_equal "0", event_data[8]["index"]["index_section"]
201+
assert_equal "2", event_data[8]["index"]["index_section_count"]
202+
203+
# click_button "Save"
204+
assert_equal "Save", event_data[9]["action"]
205+
assert_equal "form_response", event_data[9]["event_name"]
206+
assert_equal "Edit - Guide edition", event_data[9]["section"]
207+
assert_equal "{\"Title\":\"13,6,7\",\"Slug\":\"8,8\",\"Body\":\"26,31\",\"Is every chapter part of a step by step?\":\"No\",\"Is this beta content?\":\"No\"}", event_data[9]["text"]
208+
assert_equal "Guide", event_data[9]["tool_name"]
209+
assert_equal "edit", event_data[9]["type"]
210+
end
211+
end
212+
96213
context "Edit a guide page" do
97214
setup do
98215
visit edition_path(@guide_edition)

0 commit comments

Comments
 (0)