From 321368bb3ed2bf8aceb243aaa15e577cabd64e30 Mon Sep 17 00:00:00 2001 From: Manuel Raynaud Date: Tue, 1 Oct 2013 14:39:59 +0200 Subject: [PATCH] test updating up and down folder position --- core/lib/Thelia/Tests/Action/FolderTest.php | 49 +++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/core/lib/Thelia/Tests/Action/FolderTest.php b/core/lib/Thelia/Tests/Action/FolderTest.php index 33fcf3eab..3c622a18a 100644 --- a/core/lib/Thelia/Tests/Action/FolderTest.php +++ b/core/lib/Thelia/Tests/Action/FolderTest.php @@ -28,6 +28,7 @@ use Thelia\Core\Event\Folder\FolderCreateEvent; use Thelia\Core\Event\Folder\FolderDeleteEvent; use Thelia\Core\Event\Folder\FolderToggleVisibilityEvent; use Thelia\Core\Event\Folder\FolderUpdateEvent; +use Thelia\Core\Event\UpdatePositionEvent; use Thelia\Model\FolderQuery; @@ -120,6 +121,10 @@ class FolderTest extends BaseAction $this->assertTrue($deletedFolder->isDeleted()); } + /** + * test folder toggle visibility + * @covers Thelia\Action\Folder::toggleVisibility + */ public function testToggleVisibility() { $folder = $this->getRandomFolder(); @@ -136,6 +141,50 @@ class FolderTest extends BaseAction $this->assertEquals(!$visible, $updatedFolder->getVisible()); } + public function testUpdatePositionUp() + { + $folder = FolderQuery::create() + ->filterByPosition(1, Criteria::GREATER_THAN) + ->findOne(); + + if(null === $folder) { + $this->fail('use fixtures before launching test, there is no folder in database'); + } + + $newPosition = $folder->getPosition()-1; + + $event = new UpdatePositionEvent($folder->getId(), UpdatePositionEvent::POSITION_UP); + + $folderAction = new Folder($this->getContainer()); + $folderAction->updatePosition($event); + + $updatedFolder = FolderQuery::create()->findPk($folder->getId()); + + $this->assertEquals($newPosition, $updatedFolder->getPosition(),sprintf("new position is %d, new position expected is %d for folder %d", $newPosition, $updatedFolder->getPosition(), $updatedFolder->getId())); + } + + public function testUpdatePositionDown() + { + $folder = FolderQuery::create() + ->filterByPosition(1) + ->findOne(); + + if(null === $folder) { + $this->fail('use fixtures before launching test, there is no folder in database'); + } + + $newPosition = $folder->getPosition()+1; + + $event = new UpdatePositionEvent($folder->getId(), UpdatePositionEvent::POSITION_DOWN); + + $folderAction = new Folder($this->getContainer()); + $folderAction->updatePosition($event); + + $updatedFolder = FolderQuery::create()->findPk($folder->getId()); + + $this->assertEquals($newPosition, $updatedFolder->getPosition(),sprintf("new position is %d, new position expected is %d for folder %d", $newPosition, $updatedFolder->getPosition(), $updatedFolder->getId())); + } + /** * @return \Thelia\Model\Folder */