Пример #1
0
 /**
  * Test get contributor
  */
 public function testGetContributor()
 {
     /* @var $user1 User */
     $user1 = $this->getModule('Yii2')->grabFixture('users', 'activeUser1');
     /* @var $user2 User */
     $user2 = $this->getModule('Yii2')->grabFixture('users', 'activeUser2');
     foreach ($user1->accounts as $account) {
         $contributor = $this->contributorApi->getContributor($account->type, $account->username);
         $this->assertEquals($contributor->getId(), $user1->id);
         $this->assertEquals($contributor->getContributorEmail(), $user1->email);
     }
     foreach ($user2->accounts as $account) {
         $contributor = $this->contributorApi->getContributor($account->type, $account->username);
         $this->assertInstanceOf(ContributorInterface::class, $contributor);
         $this->assertEquals($contributor->getId(), $user2->id);
         $this->assertEquals($contributor->getContributorEmail(), $user2->email);
     }
     // test unregistered contributor
     foreach ([UserAccount::TYPE_GIT, UserAccount::TYPE_HG, UserAccount::TYPE_SVN] as $type) {
         $username = '******' . $type;
         $useremail = 'unregistered user email' . $type;
         $contributor = $this->contributorApi->getContributor($type, $username, $useremail);
         $this->assertInstanceOf(UnregisteredContributor::className(), $contributor);
         $this->assertEquals($username, $contributor->getContributorName());
         $this->assertEquals($useremail, $contributor->getContributorEmail());
         $this->assertNull($contributor->getDefaultViewerId());
         $this->assertNull($contributor->getContributorId());
         $this->assertNull($contributor->getAvatarUrl());
     }
 }
Пример #2
0
 /**
  * Test unknown contributor avatar
  */
 public function testWithUnknownContributor()
 {
     $contributor = $this->contributorApi->getContributor('git', 'Test contributor');
     $this->assertInstanceOf(UnregisteredContributor::className(), $contributor);
     $expectedString = '<span class="avatar avatar-test-avatar-size"></span>';
     $expectedDom = new DOMDocument();
     $expectedDom->loadXML($expectedString);
     $result = ContributorAvatar::widget(['contributor' => $contributor, 'size' => 'test-avatar-size', 'asBlock' => false]);
     $resultDom = new DOMDocument();
     $resultDom->loadXML($result);
     $this->assertEqualXMLStructure($expectedDom->firstChild, $resultDom->firstChild, true);
 }
Пример #3
0
 /**
  * Test unknown contributor avatar
  */
 public function testWithUnknownContributor()
 {
     $contributor = $this->contributorApi->getContributor('git', 'Test contributor', '*****@*****.**');
     $this->assertInstanceOf(UnregisteredContributor::className(), $contributor);
     $result = ContributorLine::widget(['contributor' => $contributor, 'avatarSize' => 'test-avatar-size', 'showEmail' => true]);
     $this->assertContains('<span class="avatar avatar-test-avatar-size"></span>', $result);
     $this->assertContains('Test contributor &lt;test@domain.ltd&gt;', $result);
     $this->assertContains('Not registered', $result);
     $result = ContributorLine::widget(['contributor' => $contributor, 'avatarSize' => 'test-avatar-size', 'showEmail' => false]);
     $this->assertContains('<span class="avatar avatar-test-avatar-size"></span>', $result);
     $this->assertContains('Test contributor', $result);
     $this->assertContains('Not registered', $result);
     $this->assertNotContains('&lt;test@domain.ltd&gt;', $result);
 }
Пример #4
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);
 }