Beispiel #1
0
 /**
  * @test
  */
 public function hydrateValidateDataSourceProcessorsTriggering()
 {
     /**
      * We cannot fetch the metadata from the mock object class name
      * So we use the real object class name.
      */
     $objectRealClass = 'Kassko\\DataMapperTest\\Hydrator\\Fixture\\Model\\Processors';
     $objectMockClass = 'ProcessorsMock';
     $object = $this->getMockBuilder($objectRealClass)->setMockClassName($objectMockClass)->setMethods(['somePreprocessorA', 'somePreprocessorB', 'someProcessorA', 'someProcessorB'])->getMock();
     $object->expects($this->once())->method('somePreprocessorA');
     $object->expects($this->once())->method('somePreprocessorB');
     $object->expects($this->once())->method('someProcessorA');
     $object->expects($this->once())->method('someProcessorB');
     $processorRealClass = 'Kassko\\DataMapperTest\\Hydrator\\Fixture\\Processor\\SomeProcessor';
     $processor = $this->getMockBuilder($processorRealClass)->setMethods(['process'])->getMock();
     $processor->expects($this->exactly(2))->method('process');
     $classMetadata = $this->objectManager->getMetadata($objectRealClass);
     $cmFactory = $this->getMockBuilder(ClassMetadataFactory::class)->getMock();
     $cmFactory->method('loadMetadata')->willReturn($classMetadata);
     $this->objectManager->setClassMetadataFactory($cmFactory);
     $hydrator = $this->createHydrator($objectMockClass, [$processorRealClass => $processor]);
     $hydrator->hydrate([], $object);
 }