@@ 265-341 (lines=77) @@ | ||
262 | $this->assertEquals($page->SideBar()->Widgets()->Count(), 0); |
|
263 | } |
|
264 | ||
265 | public function testEditingOneWidget() |
|
266 | { |
|
267 | // First get some widgets in there |
|
268 | $data = array( |
|
269 | Widget::class => array( |
|
270 | 'SideBar' => array( |
|
271 | 'new-1' => array( |
|
272 | 'Title' => 'MyTestWidgetSide', |
|
273 | 'Type' => $this->widgetToTest, |
|
274 | 'Sort' => 0 |
|
275 | ) |
|
276 | ), |
|
277 | 'BottomBar' => array( |
|
278 | 'new-1' => array( |
|
279 | 'Title' => 'MyTestWidgetBottom', |
|
280 | 'Type' => $this->widgetToTest, |
|
281 | 'Sort' => 0 |
|
282 | ) |
|
283 | ) |
|
284 | ) |
|
285 | ); |
|
286 | $request = new HTTPRequest('get', 'post', array(), $data); |
|
287 | ||
288 | $editorSide = new WidgetAreaEditor('SideBar'); |
|
289 | $editorBott = new WidgetAreaEditor('BottomBar'); |
|
290 | $form = new Form( |
|
291 | new ContentController(), |
|
292 | Form::class, |
|
293 | new FieldList($editorSide, $editorBott), |
|
294 | new FieldList() |
|
295 | ); |
|
296 | $form->setRequest($request); |
|
297 | $page = new FakePage(); |
|
298 | ||
299 | $form->saveInto($page); |
|
300 | $page->write(); |
|
301 | $page->flushCache(); |
|
302 | $page->BottomBar()->flushCache(); |
|
303 | $page->SideBar()->flushCache(); |
|
304 | $sideWidgets = $page->SideBar()->Widgets()->toArray(); |
|
305 | $bottWidgets = $page->BottomBar()->Widgets()->toArray(); |
|
306 | ||
307 | // Save again (after removing the SideBar's widget) |
|
308 | $data = array( |
|
309 | Widget::class => array( |
|
310 | 'SideBar' => array( |
|
311 | $sideWidgets[0]->ID => array( |
|
312 | 'Title' => 'MyTestWidgetSide-edited', |
|
313 | 'Type' => $this->widgetToTest, |
|
314 | 'Sort' => 0 |
|
315 | ) |
|
316 | ), |
|
317 | 'BottomBar' => array( |
|
318 | $bottWidgets[0]->ID => array( |
|
319 | 'Title' => 'MyTestWidgetBottom', |
|
320 | 'Type' => $this->widgetToTest, |
|
321 | 'Sort' => 0 |
|
322 | ) |
|
323 | ) |
|
324 | ) |
|
325 | ); |
|
326 | $request = new HTTPRequest('get', 'post', array(), $data); |
|
327 | $form->setRequest($request); |
|
328 | $form->saveInto($page); |
|
329 | ||
330 | $page->write(); |
|
331 | $page->flushCache(); |
|
332 | $page->BottomBar()->flushCache(); |
|
333 | $page->SideBar()->flushCache(); |
|
334 | $sideWidgets = $page->SideBar()->Widgets()->toArray(); |
|
335 | $bottWidgets = $page->BottomBar()->Widgets()->toArray(); |
|
336 | ||
337 | $this->assertEquals($page->BottomBar()->Widgets()->Count(), 1); |
|
338 | $this->assertEquals($page->SideBar()->Widgets()->Count(), 1); |
|
339 | $this->assertEquals($bottWidgets[0]->getTitle(), 'MyTestWidgetBottom'); |
|
340 | $this->assertEquals($sideWidgets[0]->getTitle(), 'MyTestWidgetSide-edited'); |
|
341 | } |
|
342 | ||
343 | public function testEditingAWidgetFromEachArea() |
|
344 | { |
|
@@ 343-419 (lines=77) @@ | ||
340 | $this->assertEquals($sideWidgets[0]->getTitle(), 'MyTestWidgetSide-edited'); |
|
341 | } |
|
342 | ||
343 | public function testEditingAWidgetFromEachArea() |
|
344 | { |
|
345 | // First get some widgets in there |
|
346 | $data = array( |
|
347 | Widget::class => array( |
|
348 | 'SideBar' => array( |
|
349 | 'new-1' => array( |
|
350 | 'Title' => 'MyTestWidgetSide', |
|
351 | 'Type' => $this->widgetToTest, |
|
352 | 'Sort' => 0 |
|
353 | ) |
|
354 | ), |
|
355 | 'BottomBar' => array( |
|
356 | 'new-1' => array( |
|
357 | 'Title' => 'MyTestWidgetBottom', |
|
358 | 'Type' => $this->widgetToTest, |
|
359 | 'Sort' => 0 |
|
360 | ) |
|
361 | ) |
|
362 | ) |
|
363 | ); |
|
364 | $request = new HTTPRequest('get', 'post', array(), $data); |
|
365 | ||
366 | $editorSide = new WidgetAreaEditor('SideBar'); |
|
367 | $editorBott = new WidgetAreaEditor('BottomBar'); |
|
368 | $form = new Form( |
|
369 | new ContentController(), |
|
370 | Form::class, |
|
371 | new FieldList($editorSide, $editorBott), |
|
372 | new FieldList() |
|
373 | ); |
|
374 | $form->setRequest($request); |
|
375 | $page = new FakePage(); |
|
376 | ||
377 | $form->saveInto($page); |
|
378 | $page->write(); |
|
379 | $page->flushCache(); |
|
380 | $page->BottomBar()->flushCache(); |
|
381 | $page->SideBar()->flushCache(); |
|
382 | $sideWidgets = $page->SideBar()->Widgets()->toArray(); |
|
383 | $bottWidgets = $page->BottomBar()->Widgets()->toArray(); |
|
384 | ||
385 | // Save again (after removing the SideBar's widget) |
|
386 | $data = array( |
|
387 | Widget::class => array( |
|
388 | 'SideBar' => array( |
|
389 | $sideWidgets[0]->ID => array( |
|
390 | 'Title' => 'MyTestWidgetSide-edited', |
|
391 | 'Type' => $this->widgetToTest, |
|
392 | 'Sort' => 0 |
|
393 | ) |
|
394 | ), |
|
395 | 'BottomBar' => array( |
|
396 | $bottWidgets[0]->ID => array( |
|
397 | 'Title' => 'MyTestWidgetBottom-edited', |
|
398 | 'Type' => $this->widgetToTest, |
|
399 | 'Sort' => 0 |
|
400 | ) |
|
401 | ) |
|
402 | ) |
|
403 | ); |
|
404 | $request = new HTTPRequest('get', 'post', array(), $data); |
|
405 | $form->setRequest($request); |
|
406 | $form->saveInto($page); |
|
407 | ||
408 | $page->write(); |
|
409 | $page->flushCache(); |
|
410 | $page->BottomBar()->flushCache(); |
|
411 | $page->SideBar()->flushCache(); |
|
412 | $sideWidgets = $page->SideBar()->Widgets()->toArray(); |
|
413 | $bottWidgets = $page->BottomBar()->Widgets()->toArray(); |
|
414 | ||
415 | $this->assertEquals($page->BottomBar()->Widgets()->Count(), 1); |
|
416 | $this->assertEquals($page->SideBar()->Widgets()->Count(), 1); |
|
417 | $this->assertEquals($bottWidgets[0]->getTitle(), 'MyTestWidgetBottom-edited'); |
|
418 | $this->assertEquals($sideWidgets[0]->getTitle(), 'MyTestWidgetSide-edited'); |
|
419 | } |
|
420 | ||
421 | public function testEditAWidgetFromOneAreaAndDeleteAWidgetFromAnotherArea() |
|
422 | { |