Exemple #1
0
 /**
  * @param Order|object $order
  * @param array        $changeSet
  *
  * @dataProvider preUpdateDataProvider
  */
 public function testPreUpdate($order, array $changeSet = [])
 {
     $isUpdateRequired = array_intersect(['subtotalAmount', 'status'], array_keys($changeSet));
     if ($isUpdateRequired) {
         $entityManager = $this->createEntityManagerMock($order);
     } else {
         $entityManager = $this->createEntityManagerMock();
     }
     $listener = new OrderListener($this->listener);
     $listener->preUpdate(new PreUpdateEventArgs($order, $entityManager, $changeSet));
     if ($isUpdateRequired) {
         $this->assertAttributeEquals([$order->getId() => true], 'ordersForUpdate', $listener);
     } else {
         $this->assertAttributeEmpty('ordersForUpdate', $listener);
     }
     $listener->preUpdate(new PreUpdateEventArgs($order, $entityManager, $changeSet));
     $this->assertObjectHasAttribute('ordersForUpdate', $listener);
 }
Exemple #2
0
 /**
  * @param Order|object $order
  * @param float|null $newLifetime
  * @param array $changeSet
  * @dataProvider updateDataProvider
  */
 public function testUpdate($order, $newLifetime = null, array $changeSet = array())
 {
     $isUpdateRequired = array_intersect(array('subtotalAmount', 'status'), array_keys($changeSet));
     if ($isUpdateRequired && $newLifetime) {
         $entityManager = $this->createEntityManagerMock($order->getCustomer(), $newLifetime);
     } else {
         $entityManager = $this->createEntityManagerMock();
     }
     $listener = new OrderListener();
     $listener->preUpdate(new PreUpdateEventArgs($order, $entityManager, $changeSet));
     if ($isUpdateRequired) {
         $this->assertAttributeEquals(array($order->getId() => true), 'ordersForUpdate', $listener);
     } else {
         $this->assertAttributeEmpty('ordersForUpdate', $listener);
     }
     $listener->postUpdate(new LifecycleEventArgs($order, $entityManager));
     $this->assertAttributeEmpty('ordersForUpdate', $listener);
 }