public function resolvesConvertsDomainObjectsToIdentityArrays() { $object1 = new \stdClass(); $object2 = new \stdClass(); $originalArray = ['foo' => 'bar', 'someObject' => $object1, 'baz' => ['someOtherObject' => $object2]]; $convertedArray = ['foo' => 'bar', 'someObject' => ['__identity' => 'x'], 'baz' => ['someOtherObject' => ['__identity' => 'y']]]; $mockPersistenceManager = $this->createMock(PersistenceManagerInterface::class); $mockPersistenceManager->expects($this->once())->method('convertObjectsToIdentityArrays')->with($originalArray)->will($this->returnValue($convertedArray)); $this->inject($this->route, 'persistenceManager', $mockPersistenceManager); $this->route->setUriPattern('foo'); $this->route->setAppendExceedingArguments(true); $this->route->_set('isParsed', true); $this->route->resolves($originalArray); $actualResult = $this->route->getResolvedUriPath(); $expectedResult = '?foo=bar&someObject%5B__identity%5D=x&baz%5BsomeOtherObject%5D%5B__identity%5D=y'; $this->assertEquals($expectedResult, $actualResult); }