Example #1
0
 public function it_will_create_remote_branch_value_object(PushPayload $pushPayload)
 {
     $pushPayload->getBranchName()->willReturn('name');
     $result = $this->create($pushPayload);
     $result->shouldReturnAnInstanceOf('DevBoard\\GithubRemote\\ValueObject\\Branch\\Branch');
     $result->getName()->shouldReturn('name');
 }
Example #2
0
 public function it_will_create_remote_commit_value_object(PushPayload $pushPayload)
 {
     $data = ['id' => 'sha', 'message' => 'Message', 'timestamp' => '2015-11-20T22:25:30+01:00'];
     $pushPayload->getHeadCommitDetails()->willReturn($data);
     $result = $this->create($pushPayload);
     $result->shouldReturnAnInstanceOf('DevBoard\\GithubRemote\\ValueObject\\Commit\\Commit');
     $result->getSha()->shouldReturn('sha');
     $result->getMessage()->shouldReturn('Message');
 }
Example #3
0
 /**
  * @param PushPayload $pushPayload
  *
  * @throws Exception
  *
  * @return BranchHandler|TagHandler
  */
 private function getHandler(PushPayload $pushPayload)
 {
     if ($pushPayload->isBranch()) {
         return $this->branchHandler;
     } elseif ($pushPayload->isTag()) {
         return $this->tagHandler;
     }
     throw new Exception('Unsupported push payload: payload should be branch or tag!');
 }
 public function it_will_create_remote_commit_author_value_object(PushPayload $pushPayload)
 {
     $data = ['name' => 'name', 'email' => '*****@*****.**', 'username' => 'username'];
     $pushPayload->getCommitAuthorDetails()->willReturn($data);
     $result = $this->create($pushPayload);
     $result->shouldReturnAnInstanceOf('DevBoard\\GithubRemote\\ValueObject\\User\\CommitAuthor');
     $result->getName()->shouldReturn('name');
     $result->getEmail()->shouldReturn('*****@*****.**');
     $result->getUsername()->shouldReturn('username');
 }
Example #5
0
 /**
  * @dataProvider provideDeletedBranch
  *
  * @param $data
  *
  * @throws \Exception
  */
 public function testDeleteBranch($data)
 {
     $payload = new PushPayload($data);
     $this->assertTrue($payload->isBranch());
     $this->assertTrue($payload->isDelete());
     $this->assertSame(PushPayload::DELETED, $payload->getType());
     $this->assertFalse($payload->isTag());
     $this->assertFalse($payload->isCreate());
     $this->assertFalse($payload->isUpdate());
 }
 public function it_will_create_remote_repo_value_object(PushPayload $pushPayload)
 {
     $data = ['id' => 'githubId', 'name' => 'name', 'full_name' => 'owner/name', 'owner' => ['name' => 'owner'], 'html_url' => 'https://github.com/owner/name', 'description' => 'Description', 'fork' => false, 'default_branch' => 'master', 'private' => false, 'git_url' => 'git://github.com/owner/name.git', 'ssh_url' => 'git@github.com:owner/name.git', 'created_at' => 1445097225, 'updated_at' => '2015-10-17T15:53:45Z', 'pushed_at' => 1448054741];
     $pushPayload->getRepositoryDetails()->willReturn($data);
     $this->create($pushPayload)->shouldReturnAnInstanceOf('DevBoard\\GithubRemote\\ValueObject\\Repo\\Repo');
 }
Example #7
0
 /**
  * @param PushPayload $pushPayload
  *
  * @return Repo
  */
 public function create(PushPayload $pushPayload)
 {
     $data = $pushPayload->getRepositoryDetails();
     return new Repo($data['id'], $data['owner']['name'], $data['name'], $data['full_name'], $data['html_url'], $data['description'], $data['fork'], $data['default_branch'], $data['private'], $data['git_url'], $data['ssh_url'], DateTime::createFromFormat('U', $data['created_at']), new DateTime($data['updated_at']), DateTime::createFromFormat('U', $data['pushed_at']));
 }
Example #8
0
 /**
  * @param PushPayload $pushPayload
  *
  * @return CommitAuthor
  */
 public function create(PushPayload $pushPayload)
 {
     $data = $pushPayload->getCommitAuthorDetails();
     return new CommitAuthor($data['name'], $data['email'], $data['username']);
 }
Example #9
0
 /**
  * @param PushPayload $pushPayload
  *
  * @return Tag
  */
 public function create(PushPayload $pushPayload)
 {
     return new Tag($pushPayload->getTagName());
 }
Example #10
0
 /**
  * @param PushPayload $pushPayload
  *
  * @return Commit
  */
 public function create(PushPayload $pushPayload)
 {
     $data = $pushPayload->getHeadCommitDetails();
     return new Commit($data['id'], new DateTime($data['timestamp']), new DateTime($data['timestamp']), $data['message']);
 }
 public function it_will_throw_exception_if_not_branch_or_tag_push_event(PushPayload $pushPayload)
 {
     $pushPayload->isBranch()->willReturn(false);
     $pushPayload->isTag()->willReturn(false);
     $this->shouldThrow('Exception')->duringProcess($pushPayload);
 }
Example #12
0
 /**
  * @param PushPayload $pushPayload
  *
  * @return Branch
  */
 public function create(PushPayload $pushPayload)
 {
     return new Branch($pushPayload->getBranchName());
 }