Skip to content

Commit 3b9511f

Browse files
authored
Merge pull request #93 from silinternational/develop
Release 2.6.0: add members.get and testing
2 parents c189ff5 + 711ff05 commit 3b9511f

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

SilMock/Google/Service/Directory/Resource/Members.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,19 @@ public function __construct(?string $dbFile = null)
1515
parent::__construct($dbFile, 'directory', 'members');
1616
}
1717

18+
public function get(string $groupKey, string $memberKey): GoogleDirectory_Member
19+
{
20+
$members = $this->listMembers($groupKey);
21+
$memberList = $members->getMembers();
22+
foreach ($memberList as $member) {
23+
$memberEmailAddress = mb_strtolower($member->getEmail());
24+
if ($memberEmailAddress === mb_strtolower($memberKey)) {
25+
return $member;
26+
}
27+
}
28+
throw new Exception('Member not found');
29+
}
30+
1831
public function hasMember(string $groupKey, string $memberKey): array
1932
{
2033
$members = $this->listMembers($groupKey);

SilMock/tests/Google/Service/Directory/Resource/MembersTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,24 @@ public function testInsert()
3636
self::assertTrue($addedMember instanceof GoogleDirectory_Member);
3737
}
3838

39+
public function testGet()
40+
{
41+
$groupEmailAddress = '[email protected]';
42+
$emailAddress = '[email protected]';
43+
$mockGoogleServiceDirectory = new GoogleMock_Directory('anyclient', $this->dataFile);
44+
try {
45+
$member = $mockGoogleServiceDirectory->members->get($groupEmailAddress, $emailAddress);
46+
} catch (Exception $exception) {
47+
self::fail(
48+
sprintf(
49+
'Was expecting the members.get method to function, but got: %s',
50+
$exception->getMessage()
51+
)
52+
);
53+
}
54+
self::assertTrue($member instanceof GoogleDirectory_Member);
55+
}
56+
3957
public function testHasMember()
4058
{
4159
$groupEmailAddress = '[email protected]';

0 commit comments

Comments
 (0)