public function testGetSites()
{
$organization = new Organization((object) ['id' => '123']);
$model_data = ['a' => (object) ['site' => new Site((object) ['id' => 'abc', 'name' => 'Site A']), 'organization_id' => '123', "role" => "team_member"], 'b' => (object) ['site' => new Site((object) ['id' => 'bcd', 'name' => 'Site B']), 'organization_id' => '123', "role" => "team_member"], 'c' => (object) ['site' => new Site((object) ['id' => 'cde', 'name' => 'Site C']), 'organization_id' => '123', "role" => "team_member"]];
$models = $sites = [];
foreach ($model_data as $id => $data) {
$models[$id] = $this->getMockBuilder(OrganizationSiteMembership::class)->disableOriginalConstructor()->getMock();
$models[$id]->method('getSite')->willReturn($data->site);
$sites[$data->site->id] = $data->site;
}
$org_site_membership = $this->getMockBuilder(OrganizationSiteMemberships::class)->setMethods(['getMembers'])->disableOriginalConstructor()->getMock();
$org_site_membership->expects($this->any())->method('getMembers')->willReturn($models);
$container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
$container->expects($this->once())->method('get')->with(OrganizationSiteMemberships::class, [['organization' => $organization]])->willReturn($org_site_membership);
$organization->setContainer($container);
$this->assertEquals($org_site_membership, $organization->getSiteMemberships());
$this->assertEquals($sites, $organization->getSites());
}