Exemplo n.º 1
0
 /**
  * Test panel with finished review model
  *
  * @depends testWithReview
  */
 public function testWithFinishedReview()
 {
     list($contributor, $reviewer, $authModel, $project, $commit) = $this->prepareFixtures();
     $reviewModel = $this->projectModule->createContributionReview($project, $commit, $contributor, $reviewer);
     $this->assertInstanceOf(ContributionReview::className(), $reviewModel);
     $this->assertTrue($reviewModel->finishReview());
     /* @var $contributor User */
     /* @var $reviewer User */
     /* @var $authModel Auth */
     /* @var $project Project */
     /* @var $commit BaseCommit */
     $result = CommitPanel::widget(['project' => $project, 'commit' => $commit, 'contributor' => $contributor, 'authUser' => $authModel, 'reviewModel' => $reviewModel]);
     // contains review model but not contains finish review button
     $this->assertContains($reviewer->name, $result);
     $this->assertNotContains('did not complete a review', $result);
     $expectedString = '/projects/' . $project->id . '/' . $commit->getId() . '/finish-review';
     $this->assertNotContains($expectedString, $result);
     $this->assertNotContains('Finish review', $result);
     // not contains to be a reviewer button
     $this->assertNotContains('(has no review)', $result);
     // has to be review button
     $expectedString = '/projects/' . $project->id . '/' . $commit->getId() . '/create-self-review';
     $this->assertNotContains($expectedString, $result);
     $this->assertNotContains('To be a reviewer', $result);
     // contains finish review date
     $expectedString = 'at ' . $reviewModel->getReviewedDateTime()->format("d\\'M y H:i:s");
     $this->assertContains($expectedString, $result);
 }
Exemplo n.º 2
0
 /**
  * Test contribution review
  *
  * @depends testGetProjectContributions
  *
  * @param BaseCommit $commit
  */
 public function testCreateContributionReview(BaseCommit $commit)
 {
     /* @var $project Project */
     $project = $this->getModule('Yii2')->grabFixture('projects', 'gitProject');
     /* @var $reviewer User */
     $reviewer = $this->getModule('Yii2')->grabFixture('users', 'activeUser1');
     /* @var $contributor User */
     $contributor = $this->getModule('Yii2')->grabFixture('users', 'activeUser2');
     // create review without users
     $contributionReview = $this->projectApi->createContributionReview($project, $commit, new UnregisteredContributor());
     $this->assertInstanceOf(ContributionReview::className(), $contributionReview);
     $this->assertInstanceOf(Project::className(), $contributionReview->project);
     $this->assertEquals($contributionReview->project->id, $project->id);
     $this->assertNull($contributionReview->reviewer);
     $this->assertInstanceOf(UnregisteredContributor::className(), $contributionReview->contributor);
     // check unique
     $this->assertNull($this->projectApi->createContributionReview($project, $commit, new UnregisteredContributor()));
     // remove review
     $this->assertEquals(1, $contributionReview->delete());
     // create review with users
     $contributionReview = $this->projectApi->createContributionReview($project, $commit, $contributor);
     $this->assertInstanceOf(ContributionReview::className(), $contributionReview);
     $this->assertInstanceOf(Project::className(), $contributionReview->project);
     $this->assertEquals($contributionReview->project->id, $project->id);
     $this->assertNull($contributionReview->reviewer);
     $this->assertInstanceOf(ContributorInterface::class, $contributionReview->contributor);
     $this->assertEquals($contributionReview->contributor->id, $contributor->id);
     $this->assertEquals(1, $contributionReview->delete());
     $contributionReview = $this->projectApi->createContributionReview($project, $commit, $contributor, $reviewer);
     $this->assertInstanceOf(ContributionReview::className(), $contributionReview);
     $this->assertInstanceOf(Project::className(), $contributionReview->project);
     $this->assertEquals($contributionReview->project->id, $project->id);
     $this->assertInstanceOf(ContributorInterface::class, $contributionReview->reviewer);
     $this->assertEquals($contributionReview->reviewer->id, $reviewer->id);
     $this->assertInstanceOf(ContributorInterface::class, $contributionReview->contributor);
     $this->assertEquals($contributionReview->contributor->id, $contributor->id);
 }