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()); }