From 12dd5a4909f9d2ea947b28c43c545d3213d52264 Mon Sep 17 00:00:00 2001 From: Herbert Date: Thu, 21 Nov 2019 13:42:32 +0100 Subject: [PATCH] adjusted OrderRepository incrementId and added tiny unit test --- .../src/Repositories/OrderRepository.php | 17 +++++---- .../tests/sales/order/OrderRepositoryCest.php | 37 +++++++++++++++++++ 2 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 packages/Webkul/Sales/src/tests/sales/order/OrderRepositoryCest.php diff --git a/packages/Webkul/Sales/src/Repositories/OrderRepository.php b/packages/Webkul/Sales/src/Repositories/OrderRepository.php index 18740b1b1..82420e34e 100755 --- a/packages/Webkul/Sales/src/Repositories/OrderRepository.php +++ b/packages/Webkul/Sales/src/Repositories/OrderRepository.php @@ -8,9 +8,10 @@ use Illuminate\Support\Facades\Event; use Webkul\Core\Eloquent\Repository; use Webkul\Core\Models\CoreConfig; use Webkul\Sales\Contracts\Order; +use Webkul\Sales\Models\Order as OrderModel; /** - * Order Reposotory + * Order Repository * * @author Jitendra Singh * @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) @@ -58,7 +59,7 @@ class OrderRepository extends Repository * @return Mixed */ - function model() + public function model() { return Order::class; } @@ -140,13 +141,13 @@ class OrderRepository extends Repository { $order = $this->findOrFail($orderId); - if (! $order->canCancel()) + if (!$order->canCancel()) return false; Event::fire('sales.order.cancel.before', $order); foreach ($order->items as $item) { - if (! $item->qty_to_cancel) + if (!$item->qty_to_cancel) continue; $orderItems = []; @@ -190,7 +191,7 @@ class OrderRepository extends Repository /** * @return integer */ - public function generateIncrementId() + public function generateIncrementId(): int { $config = new CoreConfig(); @@ -201,11 +202,11 @@ class OrderRepository extends Repository ] as $varSuffix => $confKey) { $var = "invoiceNumber{$varSuffix}"; $$var = $config - ->where('code', '=', "sales.orderSettings.order_number.{$confKey}") + ->where('code', '=', "sales.orderSettings.order_number.order_number_{$confKey}") ->first() ?: false; } - $lastOrder = $this->model->orderBy('id', 'desc')->limit(1)->first(); + $lastOrder = $this->order->orderBy('id', 'desc')->limit(1)->first(); $lastId = $lastOrder ? $lastOrder->id : 0; if ($invoiceNumberLength && ($invoiceNumberPrefix || $invoiceNumberSuffix)) { @@ -230,7 +231,7 @@ class OrderRepository extends Repository $totalQtyOrdered += $item->qty_ordered; $totalQtyInvoiced += $item->qty_invoiced; - if (! $item->isStockable()) { + if (!$item->isStockable()) { $totalQtyShipped += $item->qty_ordered; } else { $totalQtyShipped += $item->qty_shipped; diff --git a/packages/Webkul/Sales/src/tests/sales/order/OrderRepositoryCest.php b/packages/Webkul/Sales/src/tests/sales/order/OrderRepositoryCest.php new file mode 100644 index 000000000..96520ffef --- /dev/null +++ b/packages/Webkul/Sales/src/tests/sales/order/OrderRepositoryCest.php @@ -0,0 +1,37 @@ +repository = Mockery::mock(OrderRepository::class); + $this->repository + ->shouldReceive('generateIncrementId') + ->andSet('order', new Order); + } + + public function testGenerateIncrementIdOnEmptyDatabase(UnitTester $I) + { + $result = $this->repository->generateIncrementId(); + + $I->expect(1, $result); + } + + public function testGenerateIncrementIdOnFilledDatabase(UnitTester $I) + { + $order = new Order(['id' => rand(666, 1337)]); + $order->save(); + + $result = $this->repository->generateIncrementId(); + + $I->expect($order->id + 1, $result); + } +}