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