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