summaryrefslogtreecommitdiff
path: root/tests/units/Model/GroupTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/units/Model/GroupTest.php')
-rw-r--r--tests/units/Model/GroupTest.php82
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/units/Model/GroupTest.php b/tests/units/Model/GroupTest.php
new file mode 100644
index 00000000..2cbb254a
--- /dev/null
+++ b/tests/units/Model/GroupTest.php
@@ -0,0 +1,82 @@
+<?php
+
+require_once __DIR__.'/../Base.php';
+
+use Kanboard\Model\Group;
+
+class GroupTest extends Base
+{
+ public function testCreation()
+ {
+ $groupModel = new Group($this->container);
+ $this->assertEquals(1, $groupModel->create('Test'));
+ $this->assertFalse($groupModel->create('Test'));
+ }
+
+ public function testGetById()
+ {
+ $groupModel = new Group($this->container);
+ $this->assertEquals(1, $groupModel->create('Test'));
+
+ $group = $groupModel->getById(1);
+ $this->assertEquals('Test', $group['name']);
+ $this->assertEquals('', $group['external_id']);
+
+ $this->assertEmpty($groupModel->getById(2));
+ }
+
+ public function testGetAll()
+ {
+ $groupModel = new Group($this->container);
+ $this->assertEquals(1, $groupModel->create('B'));
+ $this->assertEquals(2, $groupModel->create('A', 'uuid'));
+
+ $groups = $groupModel->getAll();
+ $this->assertCount(2, $groups);
+ $this->assertEquals('A', $groups[0]['name']);
+ $this->assertEquals('uuid', $groups[0]['external_id']);
+ $this->assertEquals('B', $groups[1]['name']);
+ $this->assertEquals('', $groups[1]['external_id']);
+ }
+
+ public function testUpdate()
+ {
+ $groupModel = new Group($this->container);
+ $this->assertEquals(1, $groupModel->create('Test'));
+ $this->assertTrue($groupModel->update(array('id' => 1, 'name' => 'My group', 'external_id' => 'test')));
+
+ $group = $groupModel->getById(1);
+ $this->assertEquals('My group', $group['name']);
+ $this->assertEquals('test', $group['external_id']);
+ }
+
+ public function testRemove()
+ {
+ $groupModel = new Group($this->container);
+ $this->assertEquals(1, $groupModel->create('Test'));
+ $this->assertTrue($groupModel->remove(1));
+ $this->assertEmpty($groupModel->getById(1));
+ }
+
+ public function testValidateCreation()
+ {
+ $groupModel = new Group($this->container);
+
+ $result = $groupModel->validateCreation(array('name' => 'Test'));
+ $this->assertTrue($result[0]);
+
+ $result = $groupModel->validateCreation(array('name' => ''));
+ $this->assertFalse($result[0]);
+ }
+
+ public function testValidateModification()
+ {
+ $groupModel = new Group($this->container);
+
+ $result = $groupModel->validateModification(array('name' => 'Test', 'id' => 1));
+ $this->assertTrue($result[0]);
+
+ $result = $groupModel->validateModification(array('name' => 'Test'));
+ $this->assertFalse($result[0]);
+ }
+}