public function testAddUserBusinessUnitBelongToDifferentOrganizations() { $tree = new OwnerTree(); $tree->addBasicEntity('user', null); $tree->addLocalEntity('bu1', null); $this->assertNull($tree->getBusinessUnitOrganizationId('bu1')); $tree->addLocalEntity('bu2', 'org2'); $this->assertEquals('org2', $tree->getBusinessUnitOrganizationId('bu2')); $tree->addLocalEntity('bu3', 'org3'); $this->assertEquals('org3', $tree->getBusinessUnitOrganizationId('bu3')); $tree->addLocalEntityToBasic('user', null, null); $this->assertEquals([], $tree->getUserBusinessUnitIds('user')); $this->assertNull($tree->getUserOrganizationId('user')); $this->assertEquals([], $tree->getUserOrganizationIds('user')); $this->assertEquals([], $tree->getUserSubordinateBusinessUnitIds('user', 'org1')); $this->assertEquals([], $tree->getBusinessUnitsIdByUserOrganizations('user')); $tree->addLocalEntityToBasic('user', 'bu1', 'org1'); $this->assertEquals(['bu1'], $tree->getUserBusinessUnitIds('user')); $this->assertNull($tree->getUserOrganizationId('user')); $this->assertEquals([], $tree->getUserOrganizationIds('user')); $this->assertEquals(['bu1'], $tree->getUserSubordinateBusinessUnitIds('user', 'org1')); $this->assertEquals([], $tree->getBusinessUnitsIdByUserOrganizations('user')); $tree->addLocalEntityToBasic('user', 'bu2', 'org2'); $tree->addGlobalEntity('user', 'org2'); $this->assertEquals(['bu1', 'bu2'], $tree->getUserBusinessUnitIds('user')); $this->assertEquals(['bu2'], $tree->getUserBusinessUnitIds('user', 'org2')); $this->assertNull($tree->getUserOrganizationId('user')); $this->assertEquals(['org2'], $tree->getUserOrganizationIds('user')); $this->assertEquals(['bu2'], $tree->getUserSubordinateBusinessUnitIds('user', 'org2')); $this->assertEquals(['bu1', 'bu2'], $tree->getUserSubordinateBusinessUnitIds('user')); $this->assertEquals(['bu2'], $tree->getBusinessUnitsIdByUserOrganizations('user')); $tree->addLocalEntityToBasic('user', 'bu3', 'org3'); $tree->addGlobalEntity('user', 'org3'); $this->assertEquals(['bu1', 'bu2', 'bu3'], $tree->getUserBusinessUnitIds('user')); $this->assertNull($tree->getUserOrganizationId('user')); $this->assertEquals(['org2', 'org3'], $tree->getUserOrganizationIds('user')); $this->assertEquals(['bu1', 'bu2', 'bu3'], $tree->getUserSubordinateBusinessUnitIds('user')); $this->assertEquals(['bu3'], $tree->getUserSubordinateBusinessUnitIds('user', 'org3')); $this->assertEquals(['bu2', 'bu3'], $tree->getBusinessUnitsIdByUserOrganizations('user')); }
public function testAddUserBusinessUnitBelongToDifferentOrganizations() { $tree = new OwnerTree(); $tree->addUser('user', null); $tree->addBusinessUnit('bu1', null); $this->assertNull($tree->getBusinessUnitOrganizationId('bu1')); $tree->addBusinessUnit('bu2', 'org2'); $this->assertEquals('org2', $tree->getBusinessUnitOrganizationId('bu2')); $tree->addBusinessUnit('bu3', 'org3'); $this->assertEquals('org3', $tree->getBusinessUnitOrganizationId('bu3')); $tree->addUserBusinessUnit('user', null); $this->assertEquals(array(), $tree->getUserBusinessUnitIds('user')); $this->assertNull($tree->getUserOrganizationId('user')); $this->assertEquals(array(), $tree->getUserOrganizationIds('user')); $tree->addUserBusinessUnit('user', 'bu1'); $this->assertEquals(array('bu1'), $tree->getUserBusinessUnitIds('user')); $this->assertNull($tree->getUserOrganizationId('user')); $this->assertEquals(array(), $tree->getUserOrganizationIds('user')); $tree->addUserBusinessUnit('user', 'bu2'); $this->assertEquals(array('bu1', 'bu2'), $tree->getUserBusinessUnitIds('user')); $this->assertNull($tree->getUserOrganizationId('user')); $this->assertEquals(array('org2'), $tree->getUserOrganizationIds('user')); $tree->addUserBusinessUnit('user', 'bu3'); $this->assertEquals(array('bu1', 'bu2', 'bu3'), $tree->getUserBusinessUnitIds('user')); $this->assertNull($tree->getUserOrganizationId('user')); $this->assertEquals(array('org2', 'org3'), $tree->getUserOrganizationIds('user')); }
/** * @param OwnerTree $tree */ protected function assertTestData(OwnerTree $tree) { foreach ([self::MAIN_CUSTOMER_ID, self::SECOND_CUSTOMER_ID, self::CHILD_CUSTOMER_ID] as $customerId) { $this->assertEquals(self::ORGANIZATION_ID, $tree->getBusinessUnitOrganizationId($customerId)); } $this->assertEquals([self::CHILD_CUSTOMER_ID], $tree->getSubordinateBusinessUnitIds(self::MAIN_CUSTOMER_ID)); $this->assertEmpty($tree->getSubordinateBusinessUnitIds(self::SECOND_CUSTOMER_ID)); $this->assertEmpty($tree->getSubordinateBusinessUnitIds(self::CHILD_CUSTOMER_ID)); foreach ([self::FIRST_USER_ID, self::SECOND_USER_ID, self::THIRD_USER_ID] as $userId) { $this->assertEquals(self::ORGANIZATION_ID, $tree->getUserOrganizationId($userId)); } $this->assertEquals(self::MAIN_CUSTOMER_ID, $tree->getUserBusinessUnitId(self::FIRST_USER_ID)); $this->assertEquals(self::SECOND_CUSTOMER_ID, $tree->getUserBusinessUnitId(self::SECOND_USER_ID)); $this->assertEquals(self::CHILD_CUSTOMER_ID, $tree->getUserBusinessUnitId(self::THIRD_USER_ID)); $this->assertEquals([self::MAIN_CUSTOMER_ID], $tree->getUserBusinessUnitIds(self::FIRST_USER_ID, self::ORGANIZATION_ID)); $this->assertEquals([self::SECOND_CUSTOMER_ID], $tree->getUserBusinessUnitIds(self::SECOND_USER_ID, self::ORGANIZATION_ID)); $this->assertEquals([self::CHILD_CUSTOMER_ID], $tree->getUserBusinessUnitIds(self::THIRD_USER_ID, self::ORGANIZATION_ID)); $undefinedOrganization = 42; $this->assertEmpty($tree->getUserBusinessUnitIds(self::FIRST_USER_ID, $undefinedOrganization)); $this->assertEmpty($tree->getUserBusinessUnitIds(self::SECOND_USER_ID, $undefinedOrganization)); $this->assertEmpty($tree->getUserBusinessUnitIds(self::THIRD_USER_ID, $undefinedOrganization)); }