@@ -74,6 +74,13 @@ class PageForm extends Form
74
74
*/
75
75
protected $ contentHeading = '[name="content_heading"] ' ;
76
76
77
+ /**
78
+ * Collapsible Elements locator.
79
+ *
80
+ * @var string
81
+ */
82
+ protected $ collapsibleElements = '.admin__collapsible-title ' ;
83
+
77
84
/**
78
85
* Fixture factory.
79
86
*
@@ -163,18 +170,33 @@ public function getWidgetBlock()
163
170
['element ' => $ this ->_rootElement ->find ($ this ->widgetBlock , Locator::SELECTOR_XPATH )]
164
171
);
165
172
}
173
+ /**
174
+ * Show collapsible elements.
175
+ *
176
+ * @param SimpleElement $element [optional]
177
+ * @return void
178
+ */
179
+ public function showCollapsible (SimpleElement $ element = null )
180
+ {
181
+ $ context = $ element === null ? $ this ->_rootElement : $ element ;
182
+ $ collapsibleElements = $ context ->getElements ($ this ->collapsibleElements );
183
+ foreach ($ collapsibleElements as $ collapsibleElement ) {
184
+ if ($ collapsibleElement ->isVisible ()) {
185
+ $ collapsibleElement ->click ();
186
+ }
187
+ }
188
+ }
166
189
167
190
/**
168
191
* Fill data to content fields on content tab.
169
192
*
170
193
* @param FixtureInterface $fixture
171
194
* @param SimpleElement|null $element
172
195
* @return $this
173
- *
174
- * @SuppressWarnings(PHPMD.NPathComplexity)
175
196
*/
176
197
public function fill (FixtureInterface $ fixture , SimpleElement $ element = null )
177
198
{
199
+ $ this ->showCollapsible ();
178
200
$ data = $ fixture ->getData ();
179
201
$ fields = isset ($ data ['fields ' ]) ? $ data ['fields ' ] : $ data ;
180
202
$ context = $ element === null ? $ this ->_rootElement : $ element ;
0 commit comments