@@ -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