Pantheon\Terminus\UnitTests\Collections\WorkflowsTest::testGetOwnerObject PHP Method

testGetOwnerObject() public method

public testGetOwnerObject ( )
    public function testGetOwnerObject()
    {
        $site = new Site((object) ['id' => 'site_id']);
        $environments = new Environments(['site' => $site]);
        $env = new Environment((object) ['id' => 'env_id'], ['collection' => $environments]);
        $user = new User((object) ['id' => 'user_id']);
        $org = new Organization((object) ['id' => 'org_id']);
        $workflows = new Workflows(['environment' => $env]);
        $this->assertEquals($env, $workflows->getOwnerObject());
        $this->assertEquals('sites/site_id/environments/env_id/workflows', $workflows->getUrl());
        $workflows = new Workflows(['site' => $site]);
        $this->assertEquals($site, $workflows->getOwnerObject());
        $this->assertEquals('sites/site_id/workflows', $workflows->getUrl());
        $workflows = new Workflows(['user' => $user]);
        $this->assertEquals($user, $workflows->getOwnerObject());
        $this->assertEquals('users/user_id/workflows', $workflows->getUrl());
        $session = $this->getMockBuilder(Session::class)->disableOriginalConstructor()->getMock();
        $session->expects($this->once())->method('getUser')->willReturn($user);
        $workflows = new Workflows(['organization' => $org]);
        $workflows->setSession($session);
        $this->assertEquals($org, $workflows->getOwnerObject());
        $this->assertEquals('users/user_id/organizations/org_id/workflows', $workflows->getUrl());
    }