diff --git a/src/api/models/IssueTracker.php b/src/api/models/IssueTracker.php index dbb5438..7224e81 100644 --- a/src/api/models/IssueTracker.php +++ b/src/api/models/IssueTracker.php @@ -3,6 +3,7 @@ class IssueTracker extends BaseModel { public $id = 0; public $url = ''; public $regex = ''; + public $board_id = 0; public function __construct($container, $id = 0) { parent::__construct('issue_tracker', $id, $container); @@ -52,6 +53,7 @@ class IssueTracker extends BaseModel { $this->id = (int) $obj->id; $this->url = $obj->url; $this->regex = $obj->regex; + $this->board_id = (int) $obj->board_id; } catch (Exception $ex) { $this->is_valid = false; } diff --git a/test/api/Mocks.php b/test/api/Mocks.php index 75a3baa..d263889 100644 --- a/test/api/Mocks.php +++ b/test/api/Mocks.php @@ -88,6 +88,7 @@ class DataMock { $board->columns[] = DataMock::getColumn(); $board->categories[] = DataMock::getCategory(); $board->auto_actions[] = DataMock::getAutoAction(); + $board->issue_trackers[] = DataMock::getIssueTracker(); $user = DataMock::getUser(); $user->id = 1; $board->users[] = $user; @@ -110,6 +111,7 @@ class DataMock { $category = new stdClass(); $category->id = 1; $category->name = 'cat1'; + $category->default_task_color = '#ffffe0'; $category->board_id = 1; return $category; @@ -127,6 +129,16 @@ class DataMock { return $auto_action; } + public static function getIssueTracker() { + $issue_tracker = new stdClass(); + $issue_tracker->id = 1; + $issue_tracker->board_id = 1; + $issue_tracker->url = 'testUrl'; + $issue_tracker->regex = 'testRegex'; + + return $issue_tracker; + } + public static function getUser() { $user = new stdClass(); $user->id = 2; diff --git a/test/api/models/BoardTest.php b/test/api/models/BoardTest.php index ab2be84..1ec1e1c 100644 --- a/test/api/models/BoardTest.php +++ b/test/api/models/BoardTest.php @@ -25,6 +25,7 @@ class BoardTest extends PHPUnit_Framework_TestCase { $this->bean->xownColumnList = $board->columns; $this->bean->xownCategoryList = $board->categories; $this->bean->xownAutoActionList = $board->auto_actions; + $this->bean->xownIssueTrackerList = $board->issue_trackers; $this->bean->sharedUserList = $board->users; } @@ -35,6 +36,7 @@ class BoardTest extends PHPUnit_Framework_TestCase { $this->assertArraySubset($board->columns, []); $this->assertArraySubset($board->categories, []); $this->assertArraySubset($board->auto_actions, []); + $this->assertArraySubset($board->issue_trackers, []); $this->assertArraySubset($board->users, []); } diff --git a/test/api/models/CategoryTest.php b/test/api/models/CategoryTest.php index 0aa2eba..5b7e15c 100644 --- a/test/api/models/CategoryTest.php +++ b/test/api/models/CategoryTest.php @@ -63,21 +63,25 @@ class CategoryTest extends PHPUnit_Framework_TestCase { $category->updateBean(); $bean = $category->getBean(); - $this->assertTrue($bean->id === $category->id); - $this->assertTrue($bean->name === $category->name); - $this->assertTrue($bean->board_id === $category->board_id); + $this->assertEquals($bean->id, $category->id); + $this->assertEquals($bean->name, $category->name); + $this->assertEquals($bean->default_task_color, + $category->default_task_color); + $this->assertEquals($bean->board_id, $category->board_id); } private function assertDefaultProperties($category) { - $this->assertTrue($category->id === 0); - $this->assertTrue($category->name === ''); - $this->assertTrue($category->board_id === 0); + $this->assertEquals(0, $category->id); + $this->assertEquals('', $category->name); + $this->assertEquals('', $category->default_task_color); + $this->assertEquals(0, $category->board_id); } private function assertMockProperties($category) { - $this->assertTrue($category->id === 1); - $this->assertTrue($category->name === 'cat1'); - $this->assertTrue($category->board_id === 1); + $this->assertEquals(1, $category->id); + $this->assertEquals('cat1', $category->name); + $this->assertEquals('#ffffe0', $category->default_task_color); + $this->assertEquals(1, $category->board_id); } } diff --git a/test/api/models/IssueTrackerTest.php b/test/api/models/IssueTrackerTest.php new file mode 100644 index 0000000..760392c --- /dev/null +++ b/test/api/models/IssueTrackerTest.php @@ -0,0 +1,76 @@ +json !== '') { + return; + } + + $tracker = DataMock::getIssueTracker(); + $this->json = json_encode($tracker); + $this->bean = $tracker; + } + + public function testCreateIssueTracker() { + $tracker = new IssueTracker(new ContainerMock()); + $this->assertDefaultProperties($tracker); + } + + public function testSaveIssueTracker() { + $tracker = new IssueTracker(new ContainerMock()); + $this->assertTrue($tracker->save()); + } + + public function testLoadFromBean() { + $tracker = new IssueTracker(new ContainerMock()); + + $tracker->loadFromBean(null); + $this->assertDefaultProperties($tracker); + + $tracker->loadFromBean($this->bean); + $this->assertMockProperties($tracker); + } + + public function testLoadFromJson() { + $tracker = new IssueTracker(new ContainerMock()); + + $tracker->loadFromJson(''); + $this->assertDefaultProperties($tracker); + + $tracker->loadFromJson('{"id":0}'); + $this->assertDefaultProperties($tracker); + + $tracker->loadFromJson($this->json); + $this->assertMockProperties($tracker); + } + + private function assertDefaultProperties($tracker) { + $this->assertEquals(0, $tracker->id); + $this->assertEquals('', $tracker->url); + $this->assertEquals('', $tracker->regex); + $this->assertEquals(0, $tracker->board_id); + } + + private function assertMockProperties($tracker) { + $this->assertEquals(1, $tracker->id); + $this->assertEquals('testUrl', $tracker->url); + $this->assertEquals('testRegex', $tracker->regex); + $this->assertEquals(1, $tracker->board_id); + } +} +