Skip to content

Commit 2c7f583

Browse files
committed
Use GitHubAccount value objects instead of GitHubUser value objects where applicable
On all places where reference is actually to user or organizer, switched it to account. Organization can own repos but cant commit for instance. This is the difference between why using account is important.
1 parent d316d28 commit 2c7f583

11 files changed

+121
-119
lines changed

spec/GitHubRepoSpec.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace spec\Devboard\GitHub;
66

7+
use Devboard\GitHub\Account\GitHubAccountLogin;
78
use Devboard\GitHub\GitHubRepo;
89
use Devboard\GitHub\Repo\GitHubRepoEndpoints;
910
use Devboard\GitHub\Repo\GitHubRepoFullName;
@@ -12,7 +13,6 @@
1213
use Devboard\GitHub\Repo\GitHubRepoOwner;
1314
use Devboard\GitHub\Repo\GitHubRepoStats;
1415
use Devboard\GitHub\Repo\GitHubRepoTimestamps;
15-
use Devboard\GitHub\User\GitHubUserLogin;
1616
use PhpSpec\ObjectBehavior;
1717

1818
class GitHubRepoSpec extends ObjectBehavior
@@ -61,7 +61,7 @@ public function it_exposes_constructor_arguments(
6161

6262
public function it_exposes_parts_of_full_name(
6363
GitHubRepoFullName $fullName,
64-
GitHubUserLogin $userLogin,
64+
GitHubAccountLogin $userLogin,
6565
GitHubRepoName $repoName
6666
) {
6767
$fullName->getOwner()->shouldBeCalled()->willReturn($userLogin);

spec/Repo/GitHubRepoFullNameSpec.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55
namespace spec\Devboard\GitHub\Repo;
66

7+
use Devboard\GitHub\Account\GitHubAccountLogin;
78
use Devboard\GitHub\Repo\GitHubRepoFullName;
89
use Devboard\GitHub\Repo\GitHubRepoName;
9-
use Devboard\GitHub\User\GitHubUserLogin;
1010
use PhpSpec\ObjectBehavior;
1111

1212
class GitHubRepoFullNameSpec extends ObjectBehavior
1313
{
14-
public function let(GitHubUserLogin $owner, GitHubRepoName $repoName)
14+
public function let(GitHubAccountLogin $owner, GitHubRepoName $repoName)
1515
{
1616
$owner->getValue()->willReturn('devboard-test');
1717
$repoName->getValue()->willReturn('super-library');
@@ -29,7 +29,7 @@ public function it_can_be_created_from_string()
2929
$this->createFromString('devboard-test/super-library')->shouldReturnAnInstanceOf(GitHubRepoFullName::class);
3030
}
3131

32-
public function it_should_expose_owner_as_object(GitHubUserLogin $owner)
32+
public function it_should_expose_owner_as_object(GitHubAccountLogin $owner)
3333
{
3434
$this->getOwner()->shouldReturn($owner);
3535
}

spec/Repo/GitHubRepoOwnerSpec.php

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,26 @@
44

55
namespace spec\Devboard\GitHub\Repo;
66

7+
use Devboard\GitHub\Account\GitHubAccountApiUrl;
8+
use Devboard\GitHub\Account\GitHubAccountAvatarUrl;
9+
use Devboard\GitHub\Account\GitHubAccountGravatarId;
10+
use Devboard\GitHub\Account\GitHubAccountHtmlUrl;
11+
use Devboard\GitHub\Account\GitHubAccountId;
12+
use Devboard\GitHub\Account\GitHubAccountLogin;
713
use Devboard\GitHub\Account\GitHubAccountType;
814
use Devboard\GitHub\Repo\GitHubRepoOwner;
9-
use Devboard\GitHub\User\GitHubUserApiUrl;
10-
use Devboard\GitHub\User\GitHubUserAvatarUrl;
11-
use Devboard\GitHub\User\GitHubUserGravatarId;
12-
use Devboard\GitHub\User\GitHubUserHtmlUrl;
13-
use Devboard\GitHub\User\GitHubUserId;
14-
use Devboard\GitHub\User\GitHubUserLogin;
1515
use PhpSpec\ObjectBehavior;
1616

1717
class GitHubRepoOwnerSpec extends ObjectBehavior
1818
{
1919
public function let(
20-
GitHubUserId $userId,
21-
GitHubUserLogin $login,
20+
GitHubAccountId $userId,
21+
GitHubAccountLogin $login,
2222
GitHubAccountType $gitHubAccountType,
23-
GitHubUserAvatarUrl $avatarUrl,
24-
GitHubUserGravatarId $gravatarId,
25-
GitHubUserHtmlUrl $htmlUrl,
26-
GitHubUserApiUrl $apiUrl
23+
GitHubAccountAvatarUrl $avatarUrl,
24+
GitHubAccountGravatarId $gravatarId,
25+
GitHubAccountHtmlUrl $htmlUrl,
26+
GitHubAccountApiUrl $apiUrl
2727
) {
2828
$this->beConstructedWith(
2929
$userId,
@@ -43,13 +43,13 @@ public function it_is_initializable()
4343
}
4444

4545
public function it_should_expose_all_values_via_getters(
46-
GitHubUserId $userId,
47-
GitHubUserLogin $login,
46+
GitHubAccountId $userId,
47+
GitHubAccountLogin $login,
4848
GitHubAccountType $gitHubAccountType,
49-
GitHubUserAvatarUrl $avatarUrl,
50-
GitHubUserGravatarId $gravatarId,
51-
GitHubUserHtmlUrl $htmlUrl,
52-
GitHubUserApiUrl $apiUrl
49+
GitHubAccountAvatarUrl $avatarUrl,
50+
GitHubAccountGravatarId $gravatarId,
51+
GitHubAccountHtmlUrl $htmlUrl,
52+
GitHubAccountApiUrl $apiUrl
5353
) {
5454
$this->getUserId()->shouldReturn($userId);
5555
$this->getLogin()->shouldReturn($login);

src/GitHubRepo.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55
namespace Devboard\GitHub;
66

7+
use Devboard\GitHub\Account\GitHubAccountLogin;
78
use Devboard\GitHub\Repo\GitHubRepoEndpoints;
89
use Devboard\GitHub\Repo\GitHubRepoFullName;
910
use Devboard\GitHub\Repo\GitHubRepoId;
1011
use Devboard\GitHub\Repo\GitHubRepoName;
1112
use Devboard\GitHub\Repo\GitHubRepoOwner;
1213
use Devboard\GitHub\Repo\GitHubRepoStats;
1314
use Devboard\GitHub\Repo\GitHubRepoTimestamps;
14-
use Devboard\GitHub\User\GitHubUserLogin;
1515

1616
/**
1717
* @see GitHubRepoSpec
@@ -62,7 +62,7 @@ public function getFullName(): GitHubRepoFullName
6262
return $this->fullName;
6363
}
6464

65-
public function getOwnerLogin(): GitHubUserLogin
65+
public function getOwnerLogin(): GitHubAccountLogin
6666
{
6767
return $this->fullName->getOwner();
6868
}

src/Repo/GitHubRepoFullName.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@
44

55
namespace Devboard\GitHub\Repo;
66

7-
use Devboard\GitHub\User\GitHubUserLogin;
7+
use Devboard\GitHub\Account\GitHubAccountLogin;
88

99
/**
1010
* @see GitHubRepoFullNameSpec
1111
* @see GitHubRepoFullNameTest
1212
*/
1313
class GitHubRepoFullName
1414
{
15-
/** @var GitHubUserLogin */
15+
/** @var GitHubAccountLogin */
1616
private $owner;
1717
/** @var \Devboard\GitHub\Repo\GitHubRepoName */
1818
private $repoName;
1919

20-
public function __construct(GitHubUserLogin $owner, GitHubRepoName $repoName)
20+
public function __construct(GitHubAccountLogin $owner, GitHubRepoName $repoName)
2121
{
2222
$this->owner = $owner;
2323
$this->repoName = $repoName;
@@ -27,7 +27,7 @@ public static function createFromString(string $fullName): GitHubRepoFullName
2727
{
2828
list($owner, $name) = explode('/', $fullName);
2929

30-
return new self(new GitHubUserLogin($owner), new GitHubRepoName($name));
30+
return new self(new GitHubAccountLogin($owner), new GitHubRepoName($name));
3131
}
3232

3333
public function getValue(): string
@@ -40,7 +40,7 @@ public function __toString(): string
4040
return $this->getValue();
4141
}
4242

43-
public function getOwner(): GitHubUserLogin
43+
public function getOwner(): GitHubAccountLogin
4444
{
4545
return $this->owner;
4646
}

src/Repo/GitHubRepoOwner.php

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,46 +4,46 @@
44

55
namespace Devboard\GitHub\Repo;
66

7+
use Devboard\GitHub\Account\GitHubAccountApiUrl;
8+
use Devboard\GitHub\Account\GitHubAccountAvatarUrl;
9+
use Devboard\GitHub\Account\GitHubAccountGravatarId;
10+
use Devboard\GitHub\Account\GitHubAccountHtmlUrl;
11+
use Devboard\GitHub\Account\GitHubAccountId;
12+
use Devboard\GitHub\Account\GitHubAccountLogin;
713
use Devboard\GitHub\Account\GitHubAccountType;
814
use Devboard\GitHub\Account\GitHubAccountTypeFactory;
9-
use Devboard\GitHub\User\GitHubUserApiUrl;
10-
use Devboard\GitHub\User\GitHubUserAvatarUrl;
11-
use Devboard\GitHub\User\GitHubUserGravatarId;
12-
use Devboard\GitHub\User\GitHubUserHtmlUrl;
13-
use Devboard\GitHub\User\GitHubUserId;
14-
use Devboard\GitHub\User\GitHubUserLogin;
1515

1616
/**
1717
* @see GitHubRepoOwnerSpec
1818
* @see GitHubRepoOwnerTest
1919
*/
2020
class GitHubRepoOwner
2121
{
22-
/** @var GitHubUserId */
22+
/** @var GitHubAccountId */
2323
private $userId;
24-
/** @var GitHubUserLogin */
24+
/** @var GitHubAccountLogin */
2525
private $login;
2626
/** @var GitHubAccountType */
2727
private $gitHubAccountType;
28-
/** @var GitHubUserAvatarUrl */
28+
/** @var GitHubAccountAvatarUrl */
2929
private $avatarUrl;
30-
/** @var GitHubUserGravatarId */
30+
/** @var GitHubAccountGravatarId */
3131
private $gravatarId;
32-
/** @var GitHubUserHtmlUrl */
32+
/** @var GitHubAccountHtmlUrl */
3333
private $htmlUrl;
34-
/** @var GitHubUserApiUrl */
34+
/** @var GitHubAccountApiUrl */
3535
private $apiUrl;
3636
/** @var bool */
3737
private $siteAdmin;
3838

3939
public function __construct(
40-
GitHubUserId $userId,
41-
GitHubUserLogin $login,
40+
GitHubAccountId $userId,
41+
GitHubAccountLogin $login,
4242
GitHubAccountType $gitHubAccountType,
43-
GitHubUserAvatarUrl $avatarUrl,
44-
GitHubUserGravatarId $gravatarId,
45-
GitHubUserHtmlUrl $htmlUrl,
46-
GitHubUserApiUrl $apiUrl,
43+
GitHubAccountAvatarUrl $avatarUrl,
44+
GitHubAccountGravatarId $gravatarId,
45+
GitHubAccountHtmlUrl $htmlUrl,
46+
GitHubAccountApiUrl $apiUrl,
4747
bool $siteAdmin
4848
) {
4949
$this->userId = $userId;
@@ -56,12 +56,12 @@ public function __construct(
5656
$this->siteAdmin = $siteAdmin;
5757
}
5858

59-
public function getUserId(): GitHubUserId
59+
public function getUserId(): GitHubAccountId
6060
{
6161
return $this->userId;
6262
}
6363

64-
public function getLogin(): GitHubUserLogin
64+
public function getLogin(): GitHubAccountLogin
6565
{
6666
return $this->login;
6767
}
@@ -71,22 +71,22 @@ public function getGitHubAccountType(): GitHubAccountType
7171
return $this->gitHubAccountType;
7272
}
7373

74-
public function getAvatarUrl(): GitHubUserAvatarUrl
74+
public function getAvatarUrl(): GitHubAccountAvatarUrl
7575
{
7676
return $this->avatarUrl;
7777
}
7878

79-
public function getGravatarId(): GitHubUserGravatarId
79+
public function getGravatarId(): GitHubAccountGravatarId
8080
{
8181
return $this->gravatarId;
8282
}
8383

84-
public function getHtmlUrl(): GitHubUserHtmlUrl
84+
public function getHtmlUrl(): GitHubAccountHtmlUrl
8585
{
8686
return $this->htmlUrl;
8787
}
8888

89-
public function getApiUrl(): GitHubUserApiUrl
89+
public function getApiUrl(): GitHubAccountApiUrl
9090
{
9191
return $this->apiUrl;
9292
}
@@ -113,13 +113,13 @@ public function serialize(): array
113113
public static function deserialize(array $data): GitHubRepoOwner
114114
{
115115
return new self(
116-
new GitHubUserId($data['userId']),
117-
new GitHubUserLogin($data['login']),
116+
new GitHubAccountId($data['userId']),
117+
new GitHubAccountLogin($data['login']),
118118
GitHubAccountTypeFactory::create($data['GitHubAccountType']),
119-
new GitHubUserAvatarUrl($data['avatarUrl']),
120-
new GitHubUserGravatarId($data['gravatarId']),
121-
new GitHubUserHtmlUrl($data['htmlUrl']),
122-
new GitHubUserApiUrl($data['apiUrl']),
119+
new GitHubAccountAvatarUrl($data['avatarUrl']),
120+
new GitHubAccountGravatarId($data['gravatarId']),
121+
new GitHubAccountHtmlUrl($data['htmlUrl']),
122+
new GitHubAccountApiUrl($data['apiUrl']),
123123
$data['siteAdmin']
124124
);
125125
}

tests/GitHubBranchTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace tests\Devboard\GitHub;
66

7+
use Devboard\GitHub\Account\GitHubAccountLogin;
78
use Devboard\GitHub\Account\Type\User;
89
use Devboard\GitHub\Branch\GitHubBranchName as BranchName;
910
use Devboard\GitHub\Commit\Author\GitHubCommitAuthorEmail;
@@ -65,7 +66,7 @@ public function provideData()
6566
return [
6667
[
6768
new RepoFullName(
68-
new GitHubUserLogin('devboard-test'), new GitHubRepoName('super-library')
69+
new GitHubAccountLogin('devboard-test'), new GitHubRepoName('super-library')
6970
),
7071
new BranchName('master'),
7172
new GitHubCommit(

tests/GitHubRepoTest.php

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44

55
namespace tests\Devboard\GitHub;
66

7+
use Devboard\GitHub\Account\GitHubAccountApiUrl;
8+
use Devboard\GitHub\Account\GitHubAccountAvatarUrl;
9+
use Devboard\GitHub\Account\GitHubAccountGravatarId;
10+
use Devboard\GitHub\Account\GitHubAccountHtmlUrl;
11+
use Devboard\GitHub\Account\GitHubAccountId;
12+
use Devboard\GitHub\Account\GitHubAccountLogin;
713
use Devboard\GitHub\Account\Type\User;
814
use Devboard\GitHub\GitHubRepo;
915
use Devboard\GitHub\Repo\GitHubRepoApiUrl;
@@ -19,12 +25,6 @@
1925
use Devboard\GitHub\Repo\GitHubRepoStats;
2026
use Devboard\GitHub\Repo\GitHubRepoTimestamps;
2127
use Devboard\GitHub\Repo\GitHubRepoUpdatedAt;
22-
use Devboard\GitHub\User\GitHubUserApiUrl;
23-
use Devboard\GitHub\User\GitHubUserAvatarUrl;
24-
use Devboard\GitHub\User\GitHubUserGravatarId;
25-
use Devboard\GitHub\User\GitHubUserHtmlUrl;
26-
use Devboard\GitHub\User\GitHubUserId;
27-
use Devboard\GitHub\User\GitHubUserLogin;
2828

2929
/**
3030
* @covers \Devboard\GitHub\GitHubRepo
@@ -79,16 +79,16 @@ public function provideData()
7979
[
8080
new GitHubRepoId(1234),
8181
new GitHubRepoFullName(
82-
new GitHubUserLogin('devboard-test'), new GitHubRepoName('super-library')
82+
new GitHubAccountLogin('devboard-test'), new GitHubRepoName('super-library')
8383
),
8484
new GitHubRepoOwner(
85-
new GitHubUserId(789),
86-
new GitHubUserLogin('devboard-test'),
85+
new GitHubAccountId(789),
86+
new GitHubAccountLogin('devboard-test'),
8787
new User(),
88-
new GitHubUserAvatarUrl('..'),
89-
new GitHubUserGravatarId('..'),
90-
new GitHubUserHtmlUrl('..'),
91-
new GitHubUserApiUrl('..'),
88+
new GitHubAccountAvatarUrl('..'),
89+
new GitHubAccountGravatarId('..'),
90+
new GitHubAccountHtmlUrl('..'),
91+
new GitHubAccountApiUrl('..'),
9292
false
9393
),
9494
false,
@@ -106,7 +106,7 @@ public function provideData()
106106
[
107107
new GitHubRepoId(1234),
108108
new GitHubRepoFullName(
109-
new GitHubUserLogin('devboard-test'), new GitHubRepoName('super-library')
109+
new GitHubAccountLogin('devboard-test'), new GitHubRepoName('super-library')
110110
),
111111
null,
112112
false,

tests/GitHubTagTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
namespace tests\Devboard\GitHub;
66

7+
use Devboard\GitHub\Account\GitHubAccountLogin;
78
use Devboard\GitHub\Account\Type\User;
89
use Devboard\GitHub\Commit\Author\GitHubCommitAuthorEmail;
910
use Devboard\GitHub\Commit\Author\GitHubCommitAuthorName;
@@ -65,7 +66,7 @@ public function provideData()
6566
return [
6667
[
6768
new RepoFullName(
68-
new GitHubUserLogin('devboard-test'), new GitHubRepoName('super-library')
69+
new GitHubAccountLogin('devboard-test'), new GitHubRepoName('super-library')
6970
),
7071
new TagName('master'),
7172
new GitHubCommit(

0 commit comments

Comments
 (0)