public function it_sets_internal_state_to_success_if_all_statuses_passed(GithubCommit $githubCommit, GithubCommitStatus $commitStatus1, GithubCommitStatus $commitStatus2, GithubCommitStatus $commitStatus3, GithubCommitStatus $commitStatus4) { $commitStatusCollection = [$commitStatus1, $commitStatus2, $commitStatus3, $commitStatus4]; $commitStatus1->getState()->willReturn(GithubCommitStatusState::PASSED); $commitStatus2->getState()->willReturn(GithubCommitStatusState::PASSED); $commitStatus3->getState()->willReturn(GithubCommitStatusState::PASSED); $commitStatus4->getState()->willReturn(GithubCommitStatusState::PASSED); $githubCommit->getCommitStatuses()->willReturn($commitStatusCollection); $githubCommit->setInternalStatus(InternalStatus::SUCCESS)->shouldBeCalled(); $this->calculate($githubCommit)->shouldReturn($githubCommit); }
/** * @return array */ public function provideAllVariations() { $statuses = [GithubCommitStatusState::PENDING, GithubCommitStatusState::FAILED, GithubCommitStatusState::ERROR, GithubCommitStatusState::PASSED]; $pe = permutations($statuses, 5); $returnList = []; foreach ($pe as $permutation) { $resultSet = new ArrayCollection(); foreach ($permutation as $value) { $result = new GithubCommitStatus(); $result->setState($value); $resultSet->add($result); } $returnList[] = [$resultSet]; } return $returnList; }
/** * @param GithubCommit $githubCommit * @param GithubExternalService $githubExternalService * * @return GithubCommitStatus */ public function create(GithubCommit $githubCommit, GithubExternalService $githubExternalService) { $status = new GithubCommitStatus(); $status->setGithubCommit($githubCommit)->setGithubExternalService($githubExternalService); return $status; }