synergy/server_tests/server/controller/SuiteCtrlTest.php (107 lines of code) (raw):

<?php namespace Synergy\Controller\Test; use Synergy\Controller\CaseCtrl; use Synergy\Controller\SpecificationCtrl; use Synergy\Controller\SuiteCtrl; use Synergy\DB\DB_DAO; use Synergy\DB\Test\FixtureTestCase; use Synergy\Model\Suite; /** * Description of SuiteCtrlTest * * @author vriha */ class SuiteCtrlTest extends FixtureTestCase { /** * @var SuiteCtrl */ protected $object; public function setUp() { $this->object = new SuiteCtrl(); parent::setUp(); } public function testDeleteSuitesForSpecification() { $specCtrl = new SpecificationCtrl(); $specCtrl->deleteSpecification(5); $caseCtrl = new CaseCtrl(); $this->assertNull($this->object->getSuite(11)); $this->assertNull($caseCtrl->getCase(20, 11)); } public function testGetSuite() { $suite = $this->object->getSuite(14); $this->assertEquals('Refactoring', $suite->title); $this->assertEquals(3, $suite->estimation); $this->assertEquals(3, count($suite->testCases)); $this->assertEquals('Mixins', $suite->testCases[0]->title); $this->assertEquals('Variables', $suite->testCases[1]->title); $this->assertEquals('Parameters', $suite->testCases[2]->title); } public function testCloneSpecificationSuite() { $oldSuite = $this->object->getSuite(14); $specCtrl = new SpecificationCtrl(); $oldArray = $specCtrl->getSuitesIDs(4); $this->object->cloneSpecificationSuite(4, $oldSuite); DB_DAO::executeQuery("UPDATE suite SET id=999 WHERE id IS NULL;"); $suite = $this->object->getSuite(999); $newArray = $specCtrl->getSuitesIDs(4); $this->assertEquals($oldSuite->title, $suite->title); $this->assertEquals($oldSuite->desc, $suite->desc); $this->assertEquals($oldSuite->product, $suite->product); $this->assertEquals($oldSuite->component, $suite->component); $this->assertEquals($oldSuite->order, $suite->order); $this->assertEquals(count($oldArray)+1, count($newArray)); } public function testGetTestCasesIds() { $this->assertEquals(3, count($this->object->getTestCasesIds(14))); } public function testUpdateSuite() { $suite = new Suite(14, 'Desc_', 'Title_', 'web', 'test', 5, 10); $this->object->updateSuite($suite); $suite = $this->object->getSuite(14); $this->assertEquals('Title_', $suite->title); $this->assertEquals('Desc_', $suite->desc); $this->assertEquals('web', $suite->product); $this->assertEquals('test', $suite->component); $this->assertEquals(10, $suite->order); $this->assertEquals(3, $suite->estimation); } public function testGetSpecificationId() { $this->assertEquals(5, $this->object->getSpecificationId(14)); } public function testDeleteSuite() { $this->object->deleteSuite(14); $this->assertNull($this->object->getSuite(14)); $this->assertEquals(0, count($this->object->getTestCasesIds(14))); } public function testCreateSuite() { $suite = new Suite(0, 'Desc_', 'Title_', 'web', 'test', 5, 10); $this->object->createSuite($suite); DB_DAO::executeQuery("UPDATE suite SET id=999 WHERE id IS NULL;"); $suite = $this->object->getSuite(999); $this->assertEquals('Title_', $suite->title); $this->assertEquals('Desc_', $suite->desc); $this->assertEquals('web', $suite->product); $this->assertEquals('test', $suite->component); $this->assertEquals(10, $suite->order); $this->assertEquals(0, $suite->estimation); } public function testAddCaseToSuite() { $this->object->addCaseToSuite(17, 14); $suite = $this->object->getSuite(14); $this->assertEquals(4, count($suite->testCases)); $newCase = false; foreach ($suite->testCases as $c) { if ($c->title === "Cordova plugins") { $newCase = true; break; } } $this->assertTrue($newCase); } public function testSuiteAlreadyHasCase() { $this->assertTrue($this->object->suiteAlreadyHasCase(37, 14)); $this->assertFalse($this->object->suiteAlreadyHasCase(17, 14)); } public function testOnlySuiteHasCase() { $this->assertTrue($this->object->onlySuiteHasCase(37, 14)); $this->object->addCaseToSuite(37, 8); $this->assertFalse($this->object->onlySuiteHasCase(37, 14)); } public function testGetAllSpecificationsForCase() { $this->assertEquals(1, count($this->object->getAllSpecificationsForCase(37))); $this->object->addCaseToSuite(37, 8); $this->assertEquals(2, count($this->object->getAllSpecificationsForCase(37))); } }