コード例 #1
0
 public function testProcessValidData()
 {
     $appendedCustomer = new Customer();
     $removedCustomer = new Customer();
     $removedCustomer->setGroup($this->entity);
     $this->form->expects($this->once())->method('setData')->with($this->entity);
     $this->form->expects($this->once())->method('submit')->with($this->request);
     $this->request->setMethod('POST');
     $this->form->expects($this->once())->method('isValid')->will($this->returnValue(true));
     $appendForm = $this->getMockBuilder('Symfony\\Component\\Form\\Form')->disableOriginalConstructor()->getMock();
     $appendForm->expects($this->once())->method('getData')->will($this->returnValue([$appendedCustomer]));
     $this->form->expects($this->at(3))->method('get')->with('appendCustomers')->will($this->returnValue($appendForm));
     $removeForm = $this->getMockBuilder('Symfony\\Component\\Form\\Form')->disableOriginalConstructor()->getMock();
     $removeForm->expects($this->once())->method('getData')->will($this->returnValue([$removedCustomer]));
     $this->form->expects($this->at(4))->method('get')->with('removeCustomers')->will($this->returnValue($removeForm));
     $this->manager->expects($this->at(0))->method('persist')->with($appendedCustomer);
     $this->manager->expects($this->at(1))->method('persist')->with($removedCustomer);
     $this->manager->expects($this->at(2))->method('persist')->with($this->entity);
     $this->manager->expects($this->once())->method('flush');
     $this->assertTrue($this->handler->process($this->entity));
     $this->assertEquals($this->entity, $appendedCustomer->getGroup());
     $this->assertNull($removedCustomer->getGroup());
 }