/** * Get entity owner id * * @param OwnershipMetadata $metadata * @param object $entity * * @return int */ protected function getOwnerId(OwnershipMetadata $metadata, $entity) { $ownerId = self::EMPTY_OWNER_ID; if (in_array($metadata->getOwnerType(), [OwnershipMetadata::OWNER_TYPE_USER, OwnershipMetadata::OWNER_TYPE_BUSINESS_UNIT])) { $owner = $this->getPropertyAccessor()->getValue($entity, $metadata->getOwnerFieldName()); if ($owner && $owner->getId()) { $ownerId = $owner->getId(); } } return $ownerId; }
public function testUserOwnership() { $metadata = new OwnershipMetadata('USER', 'usr', 'user_id'); $this->assertEquals(OwnershipMetadata::OWNER_TYPE_USER, $metadata->getOwnerType()); $this->assertTrue($metadata->hasOwner()); $this->assertFalse($metadata->isOrganizationOwned()); $this->assertFalse($metadata->isBusinessUnitOwned()); $this->assertTrue($metadata->isUserOwned()); $this->assertEquals('usr', $metadata->getOwnerFieldName()); $this->assertEquals('user_id', $metadata->getOwnerColumnName()); }
public function testSetState() { $metadata = new OwnershipMetadata('ORGANIZATION', 'org', 'org_id'); $restoredMetadata = $metadata->__set_state(['ownerType' => $metadata->getOwnerType(), 'ownerFieldName' => $metadata->getOwnerFieldName(), 'ownerColumnName' => $metadata->getOwnerColumnName(), 'not_exists' => true]); $this->assertEquals($metadata, $restoredMetadata); }