コード例 #1
0
ファイル: JamAdmin.php プロジェクト: e-moe/sonata
 /**
  * @inheritdoc
  */
 public function postPersist($entity)
 {
     $form = $this->getForm();
     if ($form->offsetExists(static::FIELD_AMOUNT)) {
         $amount = intval($form->get(static::FIELD_AMOUNT)->getData());
         $this->jamService->duplicate($entity, $amount - 1);
     }
 }
コード例 #2
0
ファイル: JamServiceTest.php プロジェクト: e-moe/sonata
 /**
  * @dataProvider duplicateProvider
  */
 public function testDuplicate($count, $expectedCount)
 {
     $jam = $this->getMock('\\Levi9\\SonataBundle\\Entity\\Jam');
     $cloneService = $this->getMock('\\Levi9\\SonataBundle\\Service\\CloneService');
     $cloneService->expects($this->exactly($expectedCount))->method('cloneObject')->with($jam);
     $em = $this->getMockBuilder('\\Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock();
     $em->expects($this->exactly($expectedCount))->method('persist');
     $em->expects($this->once())->method('flush');
     $jamService = new JamService($em, $cloneService);
     $jamService->duplicate($jam, $count);
 }
コード例 #3
0
ファイル: JamServiceTest.php プロジェクト: maxmode/sonata
 /**
  * @dataProvider duplicateProvider
  */
 public function testDuplicate($count, $expectedCount)
 {
     //todo: actually, this test is not testing, whether Jam was cloned or not.
     //To test clone method: create "clone" factory. It will have only one method with "clone" operator.
     // inject that service into Jam service. Expect, that clone method was called N times.
     $jam = $this->getMock('\\Levi9\\SonataBundle\\Entity\\Jam');
     $em = $this->getMockBuilder('\\Doctrine\\ORM\\EntityManager')->disableOriginalConstructor()->getMock();
     $em->expects($this->exactly($expectedCount))->method('persist')->withConsecutive(array($jam), array($jam), array($jam));
     $em->expects($this->once())->method('flush');
     $jamService = new JamService($em);
     $jamService->duplicate($jam, $count);
 }