/** * @dataProvider supportedMethods * @param string $method */ public function testProcess($method) { $form = $this->getMockBuilder('Symfony\\Component\\Form\\Form')->disableOriginalConstructor()->getMock(); $request = new Request(); $om = $this->getMockBuilder('Doctrine\\Common\\Persistence\\ObjectManager')->disableOriginalConstructor()->getMock(); $request->setMethod($method); $obj = new CalendarEvent(); $form->expects($this->once())->method('setData')->with($this->identicalTo($obj)); $form->expects($this->once())->method('submit')->with($this->identicalTo($request)); $form->expects($this->once())->method('isValid')->will($this->returnValue(true)); $om->expects($this->once())->method('persist')->with($this->identicalTo($obj)); $om->expects($this->once())->method('flush'); $handler = new CalendarEventHandler($form, $request, $om); $handler->process($obj); }
/** * @dataProvider supportedMethods */ public function testProcessValidDataWithTargetEntityActivity($method) { $targetEntity = new User(); ReflectionUtil::setId($targetEntity, 123); $organization = new Organization(); ReflectionUtil::setId($organization, 1); $targetEntity->setOrganization($organization); $defaultCalendar = $this->getMockBuilder('Oro\\Bundle\\CalendarBundle\\Entity\\Calendar')->disableOriginalConstructor()->getMock(); $this->entity->setCalendar($defaultCalendar); $this->entityRoutingHelper->expects($this->once())->method('getEntityClassName')->will($this->returnValue(get_class($targetEntity))); $this->entityRoutingHelper->expects($this->once())->method('getEntityId')->will($this->returnValue($targetEntity->getId())); $this->entityRoutingHelper->expects($this->once())->method('getAction')->will($this->returnValue('activity')); $this->request->setMethod($method); $this->form->expects($this->once())->method('setData')->with($this->identicalTo($this->entity)); $this->form->expects($this->once())->method('submit')->with($this->identicalTo($this->request)); $this->form->expects($this->once())->method('isValid')->will($this->returnValue(true)); $this->entityRoutingHelper->expects($this->once())->method('getEntityReference')->with(get_class($targetEntity), $targetEntity->getId())->will($this->returnValue($targetEntity)); $this->activityManager->expects($this->once())->method('addActivityTarget')->with($this->identicalTo($this->entity), $this->identicalTo($targetEntity)); $this->form->expects($this->once())->method('get')->will($this->returnValue($this->form)); $this->form->expects($this->once())->method('getData'); $this->om->expects($this->once())->method('persist')->with($this->identicalTo($this->entity)); $this->om->expects($this->once())->method('flush'); $this->assertTrue($this->handler->process($this->entity)); $this->assertSame($defaultCalendar, $this->entity->getCalendar()); }