Pantheon\Terminus\Models\User::getSites PHP Метод

getSites() публичный Метод

Requests API data and returns an object of user site data
public getSites ( ) : Site[]
Результат Site[]
    public function getSites()
    {
        $site_memberships = $this->getSiteMemberships()->all();
        $sites = array_combine(array_map(function ($membership) {
            return $membership->getSite()->get('id');
        }, $site_memberships), array_map(function ($membership) {
            return $membership->getSite();
        }, $site_memberships));
        return $sites;
    }

Usage Example

Пример #1
0
 public function testGetSites()
 {
     $memberships_data = [(object) ['id' => '1', 'site' => (object) ['id' => 'site1', 'other' => 'abc']], (object) ['id' => '2', 'site' => (object) ['id' => 'site2', 'other' => 'cdf']]];
     $memberships = [];
     foreach ($memberships_data as $membership_data) {
         $membership = $this->getMockBuilder(UserSiteMembership::class)->disableOriginalConstructor()->getMock();
         $site = $this->getMockBuilder(Site::class)->disableOriginalConstructor()->getMock();
         $site->method('get')->with('id')->willReturn($membership_data->site->id);
         $membership->method('getSite')->willReturn($site);
         $memberships[] = $membership;
         $sites[$membership_data->site->id] = $site;
     }
     $sitememberships = $this->getMockBuilder(UserSiteMemberships::class)->disableOriginalConstructor()->getMock();
     $sitememberships->expects($this->once())->method('all')->willReturn($memberships);
     $container = $this->getMockBuilder(Container::class)->disableOriginalConstructor()->getMock();
     $container->expects($this->once())->method('get')->with(UserSiteMemberships::class, [['user' => $this->user]])->willReturn($sitememberships);
     $this->user->setContainer($container);
     $this->assertEquals($sites, $this->user->getSites());
 }