Pantheon\Terminus\UnitTests\Models\UserTest::testGetOrgs PHP Метод

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

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