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'); }
/** * @param PushPayload $pushPayload * * @return CommitAuthor */ public function create(PushPayload $pushPayload) { $data = $pushPayload->getCommitAuthorDetails(); return new CommitAuthor($data['name'], $data['email'], $data['username']); }