public function testMoveProductBetweenLocations() { $product = $this->dummyData->getProduct(); $sourceLocation = $this->dummyData->getInventoryLocation($this->warehouse); $destinationLocation = $this->dummyData->getInventoryLocation($this->warehouse); $initialTransaction = $this->dummyData->getInventoryTransaction($sourceLocation, $product); $this->entityManager->persist($product); $this->entityManager->persist($sourceLocation); $this->entityManager->persist($destinationLocation); $this->entityManager->persist($initialTransaction); $this->entityManager->flush(); $this->inventoryService->moveProduct($product, 2, $sourceLocation->getId(), $destinationLocation->getId()); $transactions = $this->inventoryTransactionRepository->findAllByProduct($product); $transactions = $this->getDebitCreditTransactions($transactions); $debitTransaction = $transactions[0]; $creditTransaction = $transactions[1]; $this->assertTrue($debitTransaction->getType()->isMove()); $this->assertSame(-2, $debitTransaction->getQuantity()); $this->assertSame('Move items', $debitTransaction->getMemo()); $this->assertTrue($creditTransaction->getType()->isMove()); $this->assertSame(2, $creditTransaction->getQuantity()); $this->assertSame('Move items', $creditTransaction->getMemo()); }