container); $taskCreation = new TaskCreationModel($this->container); $projectModel = new ProjectModel($this->container); $this->assertEquals(1, $projectModel->create(array('name' => 'Test'))); $this->assertEquals(1, $taskCreation->create(array('title' => 'Test', 'project_id' => 1, 'owner_id' => 1))); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->withQuery($query); $filter->withValue(1); $filter->apply(); $this->assertCount(1, $query->findAll()); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->withQuery($query); $filter->withValue(123); $filter->apply(); $this->assertCount(0, $query->findAll()); } public function testWithStringAssigneeId() { $taskFinder = new TaskFinderModel($this->container); $taskCreation = new TaskCreationModel($this->container); $projectModel = new ProjectModel($this->container); $this->assertEquals(1, $projectModel->create(array('name' => 'Test'))); $this->assertEquals(1, $taskCreation->create(array('title' => 'Test', 'project_id' => 1, 'owner_id' => 1))); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->withQuery($query); $filter->withValue('1'); $filter->apply(); $this->assertCount(1, $query->findAll()); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->withQuery($query); $filter->withValue("123"); $filter->apply(); $this->assertCount(0, $query->findAll()); } public function testWithUsername() { $taskFinder = new TaskFinderModel($this->container); $taskCreation = new TaskCreationModel($this->container); $projectModel = new ProjectModel($this->container); $this->assertEquals(1, $projectModel->create(array('name' => 'Test'))); $this->assertEquals(1, $taskCreation->create(array('title' => 'Test', 'project_id' => 1, 'owner_id' => 1))); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->withQuery($query); $filter->withValue('admin'); $filter->apply(); $this->assertCount(1, $query->findAll()); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->withQuery($query); $filter->withValue('foobar'); $filter->apply(); $this->assertCount(0, $query->findAll()); } public function testWithName() { $taskFinder = new TaskFinderModel($this->container); $taskCreation = new TaskCreationModel($this->container); $projectModel = new ProjectModel($this->container); $userModel = new UserModel($this->container); $this->assertEquals(2, $userModel->create(array('username' => 'foobar', 'name' => 'Foo Bar'))); $this->assertEquals(1, $projectModel->create(array('name' => 'Test'))); $this->assertEquals(1, $taskCreation->create(array('title' => 'Test', 'project_id' => 1, 'owner_id' => 2))); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->withQuery($query); $filter->withValue('foo bar'); $filter->apply(); $this->assertCount(1, $query->findAll()); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->withQuery($query); $filter->withValue('bob'); $filter->apply(); $this->assertCount(0, $query->findAll()); } public function testWithNobody() { $taskFinder = new TaskFinderModel($this->container); $taskCreation = new TaskCreationModel($this->container); $projectModel = new ProjectModel($this->container); $this->assertEquals(1, $projectModel->create(array('name' => 'Test'))); $this->assertEquals(1, $taskCreation->create(array('title' => 'Test', 'project_id' => 1))); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->withQuery($query); $filter->withValue('nobody'); $filter->apply(); $this->assertCount(1, $query->findAll()); } public function testWithCurrentUser() { $taskFinder = new TaskFinderModel($this->container); $taskCreation = new TaskCreationModel($this->container); $projectModel = new ProjectModel($this->container); $this->assertEquals(1, $projectModel->create(array('name' => 'Test'))); $this->assertEquals(1, $taskCreation->create(array('title' => 'Test', 'project_id' => 1, 'owner_id' => 1))); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->setCurrentUserId(1); $filter->withQuery($query); $filter->withValue('me'); $filter->apply(); $this->assertCount(1, $query->findAll()); $query = $taskFinder->getExtendedQuery(); $filter = new TaskAssigneeFilter(); $filter->setCurrentUserId(2); $filter->withQuery($query); $filter->withValue('me'); $filter->apply(); $this->assertCount(0, $query->findAll()); } }