Pantheon\Terminus\Models\User::getOrganizations PHP 메소드

getOrganizations() 공개 메소드

Retrieves organization data for this user
public getOrganizations ( ) : Organization[]
리턴 Organization[]
    public function getOrganizations()
    {
        $org_memberships = $this->getOrgMemberships()->all();
        $organizations = array_combine(array_map(function ($membership) {
            return $membership->getOrganization()->id;
        }, $org_memberships), array_map(function ($membership) {
            return $membership->getOrganization();
        }, $org_memberships));
        return $organizations;
    }

Usage Example

예제 #1
0
 public function testGetOrgs()
 {
     $memberships = [(object) ['id' => '1', 'organization' => new Organization((object) ['id' => 'org1', 'other' => 'abc'])], (object) ['id' => '2', 'organization' => new Organization((object) ['id' => 'org2', 'other' => 'cdf'])]];
     $membs = [];
     foreach ($memberships as $i => $membership) {
         $membs[$i] = $this->getMockBuilder(UserOrganizationMembership::class)->disableOriginalConstructor()->getMock();
         $membs[$i]->expects($this->any())->method('getOrganization')->willReturn($membership->organization);
     }
     $orgs = ['org1' => $memberships[0]->organization, 'org2' => $memberships[1]->organization];
     $orgmemberships = $this->getMockBuilder(UserOrganizationMemberships::class)->disableOriginalConstructor()->getMock();
     $orgmemberships->expects($this->once())->method('all')->willReturn($membs);
     $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
     $container->expects($this->once())->method('get')->with(UserOrganizationMemberships::class, [['user' => $this->user]])->willReturn($orgmemberships);
     $this->user->setContainer($container);
     $this->assertEquals($orgs, $this->user->getOrganizations());
 }