Pantheon\Terminus\UnitTests\Collections\OrganizationSiteMembershipsTest::testGet PHP Метод

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

public testGet ( )
    public function testGet()
    {
        $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 = [];
        foreach ($model_data as $id => $data) {
            $models[$id] = $this->getMockBuilder(OrganizationSiteMembership::class)->disableOriginalConstructor()->getMock();
            $models[$id]->method('getSite')->willReturn($data->site);
        }
        $org_site_membership = $this->getMockBuilder(OrganizationSiteMemberships::class)->setMethods(['getMembers'])->disableOriginalConstructor()->getMock();
        $org_site_membership->expects($this->any())->method('getMembers')->willReturn($models);
        $this->assertEquals($models['a'], $org_site_membership->get('a'));
        $this->assertEquals($models['b'], $org_site_membership->get('b'));
        $this->assertEquals($models['c'], $org_site_membership->get('c'));
        $this->assertEquals($models['a'], $org_site_membership->get('Site A'));
        $this->assertEquals($models['b'], $org_site_membership->get('Site B'));
        $this->assertEquals($models['a'], $org_site_membership->get('abc'));
        $this->assertEquals($models['c'], $org_site_membership->get('cde'));
        $this->setExpectedException(TerminusNotFoundException::class);
        $this->assertEquals(null, $org_site_membership->get('invalid'));
        $this->assertEquals($model_data['a']->site, $org_site_membership->getSite('a'));
        $this->assertEquals($model_data['a']->site, $org_site_membership->getSite('Site A'));
        $this->assertEquals($model_data['a']->site, $org_site_membership->getSite('abc'));
        $this->setExpectedException(TerminusException::class);
        $this->assertEquals(null, $org_site_membership->getSite('invalid'));
        $this->assertTrue($org_site_membership->siteIsMember('abc'));
        $this->assertTrue($org_site_membership->siteIsMember('Site B'));
        $this->assertFalse($org_site_membership->siteIsMember('invalid'));
    }
OrganizationSiteMembershipsTest