Esempio n. 1
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);
 }
Esempio n. 2
0
 public function testNotScheduleLifetimeValueHistoryWithoutAccount()
 {
     $expectedLifetime = 200;
     $order = new Order();
     $customer = new Customer();
     $order->setCustomer($customer)->setSubtotalAmount($expectedLifetime);
     $entityManager = $this->createEntityManagerMock();
     $this->customerRepository->expects($this->once())->method('updateCustomerLifetimeValue')->with($this->isInstanceOf('OroCRM\\Bundle\\MagentoBundle\\Entity\\Customer'), $expectedLifetime);
     $this->listener->expects($this->never())->method('scheduleEntityUpdate');
     $listener = new OrderListener($this->listener);
     $listener->prePersist(new LifecycleEventArgs($order, $entityManager));
 }