/** * @param $configId * @param bool $setProject * @return Build */ protected function getBuild($configId, $setProject = true) { $config = array('1' => array('status' => Build::STATUS_RUNNING, 'id' => 77, 'finishDateTime' => null, 'startedDate' => '2014-10-25 21:20:02', 'previousBuild' => null), '2' => array('status' => Build::STATUS_RUNNING, 'id' => 78, 'finishDateTime' => null, 'startedDate' => '2014-10-25 21:20:02', 'previousBuild' => 4), '3' => array('status' => Build::STATUS_SUCCESS, 'id' => 7, 'finishDateTime' => '2014-10-25 21:50:02', 'startedDate' => '2014-10-25 21:20:02', 'previousBuild' => null), '4' => array('status' => Build::STATUS_FAILED, 'id' => 13, 'finishDateTime' => '2014-10-13 13:13:13', 'previousBuild' => null), '5' => array('status' => Build::STATUS_NEW, 'id' => 1000, 'finishDateTime' => '2014-12-25 21:12:21', 'previousBuild' => 3)); $build = new Build(); $build->setId($config[$configId]['id']); $build->setBranch(self::BRANCH); $build->setStatus($config[$configId]['status']); if ($config[$configId]['finishDateTime']) { $build->setFinished(new \DateTime($config[$configId]['finishDateTime'])); } if (!empty($config[$configId]['startedDate'])) { $build->setStarted(new \DateTime('2014-10-25 21:20:02')); } $project = $this->getProjectMock($config[$configId]['previousBuild'], $setProject); $build->setProjectObject($project); return $build; }
/** * @covers PHPUnit::execute */ public function testExecute_CreateDuplicateBuild() { $build = new Build(); $build->setId(1); $build->setProject(101); $build->setCommitId('abcde'); $build->setStatus(Build::STATUS_FAILED); $build->setLog('Test'); $build->setBranch('example_branch'); $build->setStarted(new \DateTime()); $build->setFinished(new \DateTime()); $build->setCommitMessage('test'); $build->setCommitterEmail('*****@*****.**'); $build->setExtra(json_encode(array('item1' => 1001))); $returnValue = $this->testedService->createDuplicateBuild($build); $this->assertNotEquals($build->getId(), $returnValue->getId()); $this->assertEquals($build->getProjectId(), $returnValue->getProjectId()); $this->assertEquals($build->getCommitId(), $returnValue->getCommitId()); $this->assertNotEquals($build->getStatus(), $returnValue->getStatus()); $this->assertEquals(Build::STATUS_NEW, $returnValue->getStatus()); $this->assertNull($returnValue->getLog()); $this->assertEquals($build->getBranch(), $returnValue->getBranch()); $this->assertNotEquals($build->getCreated(), $returnValue->getCreated()); $this->assertNull($returnValue->getStarted()); $this->assertNull($returnValue->getFinished()); $this->assertEquals('test', $returnValue->getCommitMessage()); $this->assertEquals('*****@*****.**', $returnValue->getCommitterEmail()); $this->assertEquals($build->getExtra('item1'), $returnValue->getExtra('item1')); }