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

getSiteMemberships() public method

public getSiteMemberships ( ) : OrganizationSiteMemberships
return Pantheon\Terminus\Collections\OrganizationSiteMemberships
    public function getSiteMemberships()
    {
        if (!$this->site_memberships) {
            $this->site_memberships = $this->getContainer()->get(OrganizationSiteMemberships::class, [['organization' => $this]]);
        }
        return $this->site_memberships;
    }

Usage Example

コード例 #1
0
 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());
 }