public function testGetResourceAssociationSetEndIsNotVisible() { $fakePropName = "Fake Prop"; Phockito::when($this->mockResourceProperty->getName())->return($fakePropName); Phockito::when($this->mockResourceType->resolvePropertyDeclaredOnThisType($fakePropName))->return($this->mockResourceProperty); $fakeTypeName = "Fake Type"; Phockito::when($this->mockResourceType->getName())->return($fakeTypeName); $fakeSetName = "Fake Set"; Phockito::when($this->mockResourceSet->getName())->return($fakeSetName); Phockito::when($this->mockResourceSet->getResourceType())->return($this->mockResourceType); Phockito::when($this->mockResourceSet2->getResourceType())->return($this->mockResourceType2); //Indicate the resource set is visible Phockito::when($this->mockServiceConfig->getEntitySetAccessRule($this->mockResourceSet))->return(EntitySetRights::READ_SINGLE); //Indicate the resource set is visible Phockito::when($this->mockServiceConfig->getEntitySetAccessRule($this->mockResourceSet2))->return(EntitySetRights::NONE); Phockito::when($this->mockMetadataProvider->getResourceAssociationSet($this->mockResourceSet, $this->mockResourceType, $this->mockResourceProperty))->return($this->mockResourceAssociationSet); Phockito::when($this->mockResourceAssociationSet->getResourceAssociationSetEnd($this->mockResourceSet, $this->mockResourceType, $this->mockResourceProperty))->return($this->mockResourceAssociationSetEnd); Phockito::when($this->mockResourceAssociationSet->getRelatedResourceAssociationSetEnd($this->mockResourceSet, $this->mockResourceType, $this->mockResourceProperty))->return($this->mockResourceAssociationSetEnd); Phockito::when($this->mockResourceAssociationSetEnd->getResourceSet())->return($this->mockResourceSet2); Phockito::when($this->mockResourceAssociationSetEnd->getResourceType())->return($this->mockResourceType2); $wrapper = $this->getMockedWrapper(); $actual = $wrapper->getResourceAssociationSet($this->mockResourceSet, $this->mockResourceType, $this->mockResourceProperty); $this->assertNull($actual); }
/** * Test ResourceAssociationSet class * Note: ResourceAssociationSet is an internal class used for metadata generation, not suppose to used by the developers */ public function testResourceAssociationSet() { $customerResType = $this->_getCustomerResourceType(); $customerResourceSet = new ResourceSet('Customers', $customerResType); $orderResType = $this->_getOrderResourceType(); $orderResourceSet = new ResourceSet('Orders', $orderResType); $customerReferenceProperty = new ResourceProperty('Customer', null, ResourcePropertyKind::RESOURCE_REFERENCE, $customerResType); $ordersReferenceSetProperty = new ResourceProperty('Orders', null, ResourcePropertyKind::RESOURCESET_REFERENCE, $orderResType); $customerResType->addProperty($ordersReferenceSetProperty); $orderResType->addProperty($customerReferenceProperty); $assoSetEnd1 = new ResourceAssociationSetEnd($customerResourceSet, $customerResType, $ordersReferenceSetProperty); $assoSetEnd2 = new ResourceAssociationSetEnd($orderResourceSet, $orderResType, $customerReferenceProperty); $assoSet = new ResourceAssociationSet('Orders_Customers', $assoSetEnd1, $assoSetEnd2); $this->assertEquals($assoSet->getName(), 'Orders_Customers'); $this->assertSame($assoSet->getEnd1(), $assoSetEnd1); $this->assertSame($assoSet->getEnd2(), $assoSetEnd2); $actual = $assoSet->getResourceAssociationSetEnd($customerResourceSet, $customerResType, $ordersReferenceSetProperty); $this->assertSame($assoSetEnd1, $actual); $actual = $assoSet->getRelatedResourceAssociationSetEnd($customerResourceSet, $customerResType, $ordersReferenceSetProperty); $this->assertSame($assoSetEnd2, $actual); }