Fix tests

master
Mike Koch 7 years ago
parent dd699b7165
commit 3ed01ba92f
No known key found for this signature in database
GPG Key ID: 9BA5D7F8391455ED

@ -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;
}

@ -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);
}
}

Loading…
Cancel
Save