From 3ed01ba92f3c1fbd5d82de0ec265963a7e6d3917 Mon Sep 17 00:00:00 2001 From: Mike Koch Date: Sun, 10 Sep 2017 21:44:49 -0400 Subject: [PATCH] Fix tests --- .../Categories/CategoryHandler.php | 4 -- .../Categories/CategoryHandlerTest.php | 45 +++++++++++++++++-- 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/api/BusinessLogic/Categories/CategoryHandler.php b/api/BusinessLogic/Categories/CategoryHandler.php index 5a40255a..4c3451ac 100644 --- a/api/BusinessLogic/Categories/CategoryHandler.php +++ b/api/BusinessLogic/Categories/CategoryHandler.php @@ -114,10 +114,6 @@ class CategoryHandler { $validationModel->errorKeys[] = 'INVALID_TYPE'; } - if ($category->type === null || intval($category->type) < 0 || intval($category->type) > 2) { - $validationModel->errorKeys[] = 'INVALID_TYPE'; - } - return $validationModel; } diff --git a/api/Tests/BusinessLogic/Categories/CategoryHandlerTest.php b/api/Tests/BusinessLogic/Categories/CategoryHandlerTest.php index 32b5f99c..9cb886c9 100644 --- a/api/Tests/BusinessLogic/Categories/CategoryHandlerTest.php +++ b/api/Tests/BusinessLogic/Categories/CategoryHandlerTest.php @@ -4,34 +4,71 @@ namespace BusinessLogic\Categories; +use BusinessLogic\Security\PermissionChecker; +use BusinessLogic\Security\UserContext; +use Core\Constants\Priority; use DataAccess\Categories\CategoryGateway; +use DataAccess\Settings\ModsForHeskSettingsGateway; +use DataAccess\Tickets\TicketGateway; use PHPUnit\Framework\TestCase; class CategoryHandlerTest extends TestCase { - /* @var $categoryGateway \PHPUnit_Framework_MockObject_MockObject */ + /* @var $categoryGateway CategoryGateway|\PHPUnit_Framework_MockObject_MockObject */ private $categoryGateway; /* @var $categoryHandler CategoryHandler */ private $categoryHandler; + /* @var $ticketGateway TicketGateway|\PHPUnit_Framework_MockObject_MockObject */ + private $ticketGateway; + + /* @var $permissionChecker PermissionChecker|\PHPUnit_Framework_MockObject_MockObject */ + private $permissionChecker; + + /* @var $modsForHeskSettingsGateway ModsForHeskSettingsGateway|\PHPUnit_Framework_MockObject_MockObject */ + private $modsForHeskSettingsGateway; + /* @var $heskSettings array */ private $heskSettings; protected function setUp() { $this->categoryGateway = $this->createMock(CategoryGateway::class); + $this->ticketGateway = $this->createMock(TicketGateway::class); + $this->permissionChecker = $this->createMock(PermissionChecker::class); + $this->modsForHeskSettingsGateway = $this->createMock(ModsForHeskSettingsGateway::class); - $this->categoryHandler = new CategoryHandler($this->categoryGateway); + $this->categoryHandler = new CategoryHandler($this->categoryGateway, + $this->ticketGateway, + $this->permissionChecker, + $this->modsForHeskSettingsGateway); $this->heskSettings = array(); + + //TODO write proper tests! + $this->permissionChecker->method('doesUserHavePermission')->willReturn(true); } function testCreateCallsTheGatewayWithTheCategory() { //-- Arrange $category = new Category(); + $category->autoAssign = true; + $category->backgroundColor = 'a'; + $category->foregroundColor = 'a'; + $category->catOrder = 1000; + $category->description = 'd'; + $category->displayBorder = false; + $category->name = 'n'; + $category->priority = Priority::LOW; + $category->usage = 0; + $category->type = 0; + $category->id = 1; + $this->categoryGateway->method('getAllCategories')->willReturn([$category]); //-- Assert - $this->categoryGateway->expects($this->once())->method('createCategory')->with($category, $this->heskSettings); + $this->categoryGateway->expects($this->once())->method('createCategory') + ->willReturn(1) + ->with($category, $this->heskSettings); //-- Act - $this->categoryHandler->createCategory($category, $this->heskSettings); + $this->categoryHandler->createCategory($category, new UserContext(), $this->heskSettings); } }