diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-06-25 14:34:46 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-06-25 14:34:46 -0400 |
commit | 922e0fb6de06a98774418612e0b0f75af72b6dbb (patch) | |
tree | dff0b7c2c8cd0515b22c8f320cdcf58c47515a98 /tests/integration/ProjectTest.php | |
parent | fc93203e4db044d37c1686fef0efb1ac1d6ac4b8 (diff) |
Rewrite integration tests to run with Docker containers
Diffstat (limited to 'tests/integration/ProjectTest.php')
-rw-r--r-- | tests/integration/ProjectTest.php | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/tests/integration/ProjectTest.php b/tests/integration/ProjectTest.php new file mode 100644 index 00000000..50d4fc53 --- /dev/null +++ b/tests/integration/ProjectTest.php @@ -0,0 +1,89 @@ +<?php + +require_once __DIR__.'/BaseIntegrationTest.php'; + +class ProjectTest extends BaseIntegrationTest +{ + protected $projectName = 'My team project'; + + public function testAll() + { + $this->assertCreateTeamProject(); + $this->assertGetProjectById(); + $this->assertGetProjectByName(); + $this->assertGetAllProjects(); + $this->assertUpdateProject(); + $this->assertGetProjectActivity(); + $this->assertGetProjectsActivity(); + $this->assertEnableDisableProject(); + $this->assertEnableDisablePublicAccess(); + $this->assertRemoveProject(); + } + + public function assertGetProjectById() + { + $project = $this->app->getProjectById($this->projectId); + $this->assertNotNull($project); + $this->assertEquals($this->projectName, $project['name']); + $this->assertEquals('Description', $project['description']); + } + + public function assertGetProjectByName() + { + $project = $this->app->getProjectByName($this->projectName); + $this->assertNotNull($project); + $this->assertEquals($this->projectId, $project['id']); + $this->assertEquals($this->projectName, $project['name']); + $this->assertEquals('Description', $project['description']); + } + + public function assertGetAllProjects() + { + $projects = $this->app->getAllProjects(); + $this->assertNotEmpty($projects); + } + + public function assertGetProjectActivity() + { + $activities = $this->app->getProjectActivity($this->projectId); + $this->assertInternalType('array', $activities); + $this->assertCount(0, $activities); + } + + public function assertGetProjectsActivity() + { + $activities = $this->app->getProjectActivities(array('project_ids' => array($this->projectId))); + $this->assertInternalType('array', $activities); + $this->assertCount(0, $activities); + } + + public function assertUpdateProject() + { + $this->assertTrue($this->app->updateProject(array('project_id' => $this->projectId, 'name' => 'test', 'description' => 'test'))); + + $project = $this->app->getProjectById($this->projectId); + $this->assertNotNull($project); + $this->assertEquals('test', $project['name']); + $this->assertEquals('test', $project['description']); + + $this->assertTrue($this->app->updateProject(array('project_id' => $this->projectId, 'name' => $this->projectName))); + } + + public function assertEnableDisableProject() + { + $this->assertTrue($this->app->disableProject($this->projectId)); + $this->assertTrue($this->app->enableProject($this->projectId)); + } + + public function assertEnableDisablePublicAccess() + { + $this->assertTrue($this->app->disableProjectPublicAccess($this->projectId)); + $this->assertTrue($this->app->enableProjectPublicAccess($this->projectId)); + } + + public function assertRemoveProject() + { + $this->assertTrue($this->app->removeProject($this->projectId)); + $this->assertNull($this->app->getProjectById($this->projectId)); + } +} |