|
5 | 5 | use InvalidArgumentException;
|
6 | 6 | use ipl\Html\FormDecorator\DivDecorator;
|
7 | 7 | use ipl\Html\FormElement\Collection;
|
| 8 | +use ipl\Html\FormElement\SelectElement; |
| 9 | +use ipl\Html\FormElement\SubmitButtonElement; |
8 | 10 |
|
9 | 11 | class CollectionTest extends TestCase
|
10 | 12 | {
|
@@ -67,13 +69,12 @@ public function testNoRemoveTriggerProvided()
|
67 | 69 |
|
68 | 70 | public function testAddTrigger()
|
69 | 71 | {
|
70 |
| - $this->collection->setAddElement('select', 'add_element', [ |
| 72 | + $this->collection->setAddElement(new SelectElement('add_element', [ |
71 | 73 | 'required' => false,
|
72 | 74 | 'label' => 'Add Trigger',
|
73 | 75 | 'options' => [null => 'Please choose', 'first' => 'First Option'],
|
74 | 76 | 'class' => 'autosubmit'
|
75 |
| - ]); |
76 |
| - |
| 77 | + ])); |
77 | 78 |
|
78 | 79 | $this->collection->onAssembleGroup(function ($group, $addElement, $removeElement) {
|
79 | 80 | $group->setDefaultElementDecorator(new DivDecorator());
|
@@ -106,12 +107,11 @@ public function testAddTrigger()
|
106 | 107 | $this->assertHtml($expected, $this->collection);
|
107 | 108 | }
|
108 | 109 |
|
109 |
| - |
110 | 110 | public function testRemoveTrigger()
|
111 | 111 | {
|
112 |
| - $this->collection->setRemoveElement('submitButton', 'remove_trigger', [ |
| 112 | + $this->collection->setRemoveElement(new SubmitButtonElement('remove_trigger', [ |
113 | 113 | 'label' => 'Remove Trigger',
|
114 |
| - ]); |
| 114 | + ])); |
115 | 115 |
|
116 | 116 | $this->collection->onAssembleGroup(function ($group, $addElement, $removeElement) {
|
117 | 117 | $group->setDefaultElementDecorator(new DivDecorator());
|
@@ -144,17 +144,17 @@ public function testRemoveTrigger()
|
144 | 144 | public function testFullCollection()
|
145 | 145 | {
|
146 | 146 | $this->collection->setLabel($this->label);
|
147 |
| - $this->collection->setAddElement('select', 'add_element', [ |
| 147 | + $this->collection->setAddElement(new SelectElement('add_element', [ |
148 | 148 | 'required' => false,
|
149 | 149 | 'label' => 'Add Trigger',
|
150 | 150 | 'options' => [null => 'Please choose', 'first' => 'First Option'],
|
151 | 151 | 'class' => 'autosubmit'
|
152 |
| - ]); |
| 152 | + ])); |
153 | 153 |
|
154 |
| - $this->collection->setRemoveElement('submitButton', 'remove_trigger', [ |
| 154 | + $this->collection->setRemoveElement(new SubmitButtonElement('remove_trigger', [ |
155 | 155 | 'label' => 'Remove Trigger',
|
156 | 156 | 'value' => 'Remove Trigger'
|
157 |
| - ]); |
| 157 | + ])); |
158 | 158 |
|
159 | 159 | $this->collection->onAssembleGroup(function ($group, $addElement, $removeElement) {
|
160 | 160 | $group->setDefaultElementDecorator(new DivDecorator());
|
@@ -201,21 +201,21 @@ public function testFullCollection()
|
201 | 201 |
|
202 | 202 | public function testMultipleCollections()
|
203 | 203 | {
|
204 |
| - $this->collection->setAddElement('select', 'add_element', [ |
| 204 | + $this->collection->setAddElement(new SelectElement('add_element', [ |
205 | 205 | 'required' => false,
|
206 | 206 | 'label' => 'Add Trigger',
|
207 | 207 | 'options' => [null => 'Please choose', 'first' => 'First Option']
|
208 |
| - ]); |
| 208 | + ])); |
209 | 209 |
|
210 | 210 | $this->collection->onAssembleGroup(function ($group, $addElement, $removeElement) {
|
211 | 211 | $group->setDefaultElementDecorator(new DivDecorator());
|
212 | 212 | $group->addElement($addElement);
|
213 | 213 |
|
214 | 214 | $inner = new Collection('innerCollection');
|
215 | 215 | $inner->setLabel('Inner Collection');
|
216 |
| - $inner->setAddElement('submitButton', 'inner_add_trigger', [ |
| 216 | + $inner->setAddElement(new SubmitButtonElement('inner_add_trigger', [ |
217 | 217 | 'label' => 'Inner Add Trigger'
|
218 |
| - ]); |
| 218 | + ])); |
219 | 219 | $inner->onAssembleGroup(function ($innerGroup, $innerAddElement, $innerRemoveElement) {
|
220 | 220 | $innerGroup->addElement($innerAddElement);
|
221 | 221 | $innerGroup->addElement('input', 'test_input');
|
|
0 commit comments