diff options
author | Frédéric Guillot <fred@kanboard.net> | 2014-10-05 19:40:57 -0400 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2014-10-05 19:40:57 -0400 |
commit | d138834dcf902534f78237939926e97fd9a0eebe (patch) | |
tree | a6247b9ed98079899c9e21d43044030b69088bee /tests/units | |
parent | 7f5a871f84639a90eebd0ac1d0ee7f759e220cf6 (diff) |
Regular users are able to create private projects
Diffstat (limited to 'tests/units')
-rw-r--r-- | tests/units/ProjectTest.php | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/units/ProjectTest.php b/tests/units/ProjectTest.php index be4267ca..0085711a 100644 --- a/tests/units/ProjectTest.php +++ b/tests/units/ProjectTest.php @@ -3,6 +3,7 @@ require_once __DIR__.'/Base.php'; use Model\Project; +use Model\ProjectPermission; use Model\User; use Model\Task; use Model\Acl; @@ -20,6 +21,7 @@ class ProjectTest extends Base $this->assertNotEmpty($project); $this->assertEquals(1, $project['is_active']); $this->assertEquals(0, $project['is_public']); + $this->assertEquals(0, $project['is_private']); $this->assertEquals(time(), $project['last_modified']); $this->assertEmpty($project['token']); } @@ -136,4 +138,36 @@ class ProjectTest extends Base $this->assertFalse($p->disablePublicAccess(123)); } + + public function testDuplicate() + { + $p = new Project($this->registry); + + // Clone public project + $this->assertEquals(1, $p->create(array('name' => 'Public'))); + $this->assertEquals(2, $p->duplicate(1)); + + $project = $p->getById(2); + $this->assertNotEmpty($project); + $this->assertEquals('Public (Clone)', $project['name']); + $this->assertEquals(0, $project['is_private']); + $this->assertEquals(0, $project['is_public']); + $this->assertEmpty($project['token']); + + // Clone private project + $this->assertEquals(3, $p->create(array('name' => 'Private', 'is_private' => 1), 1)); + $this->assertEquals(4, $p->duplicate(3)); + + $project = $p->getById(4); + $this->assertNotEmpty($project); + $this->assertEquals('Private (Clone)', $project['name']); + $this->assertEquals(1, $project['is_private']); + $this->assertEquals(0, $project['is_public']); + $this->assertEmpty($project['token']); + + $pp = new ProjectPermission($this->registry); + + $this->assertEquals(array(1 => 'admin'), $pp->getAllowedUsers(3)); + $this->assertEquals(array(1 => 'admin'), $pp->getAllowedUsers(4)); + } } |