Pantheon\Terminus\Models\Organization::getUsers PHP Method

getUsers() public method

Retrieves organization users
public getUsers ( ) : User[]
return User[]
    public function getUsers()
    {
        $user_memberships = $this->getUserMemberships()->all();
        $users = array_combine(array_map(function ($membership) {
            return $membership->getUser()->id;
        }, $user_memberships), array_map(function ($membership) {
            return $membership->getUser();
        }, $user_memberships));
        return $users;
    }

Usage Example

 public function testGetUsers()
 {
     $organization = new Organization((object) ['id' => '123']);
     $user_data = ['a' => ['id' => 'abc', 'email' => '*****@*****.**', 'profile' => (object) ['full_name' => 'User A']], 'b' => ['id' => 'bcd', 'email' => '*****@*****.**', 'profile' => (object) ['full_name' => 'User B']], 'c' => ['id' => 'cde', 'email' => '*****@*****.**', 'profile' => (object) ['full_name' => 'User C']]];
     $model_data = $users = [];
     foreach ($user_data as $i => $user) {
         $model_data[$i] = $this->getMockBuilder(OrganizationUserMembership::class)->disableOriginalConstructor()->getMock();
         $users[$user['id']] = new User((object) $user);
         $model_data[$i]->method('getUser')->willReturn($users[$user['id']]);
     }
     $org_user_membership = $this->getMockBuilder(OrganizationUserMemberships::class)->setMethods(['getMembers'])->disableOriginalConstructor()->getMock();
     $org_user_membership->expects($this->any())->method('getMembers')->willReturn($model_data);
     $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
     $container->expects($this->once())->method('get')->with(OrganizationUserMemberships::class, [['organization' => $organization]])->willReturn($org_user_membership);
     $organization->setContainer($container);
     $this->assertEquals($org_user_membership, $organization->getUserMemberships());
     $this->assertEquals($users, $organization->getUsers());
 }