add additional assertions to OrderCest.php
This commit is contained in:
parent
d3d666d230
commit
e094dfd09c
|
|
@ -129,14 +129,24 @@ class Laravel5Helper extends Laravel5
|
||||||
$type = 'simple';
|
$type = 'simple';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$totalQtyOrdered = 0;
|
||||||
|
|
||||||
|
$cartItems = [];
|
||||||
|
|
||||||
$generatedCartItems = rand(3, 10);
|
$generatedCartItems = rand(3, 10);
|
||||||
|
|
||||||
for ($i = 2; $i <= $generatedCartItems; $i++) {
|
for ($i = 2; $i <= $generatedCartItems; $i++) {
|
||||||
|
$quantity = random_int(1, 10);
|
||||||
$cartItem = $I->have(CartItem::class, [
|
$cartItem = $I->have(CartItem::class, [
|
||||||
'type' => $type,
|
'type' => $type,
|
||||||
'quantity' => random_int(1, 10),
|
'quantity' => $quantity,
|
||||||
'cart_id' => $cart->id,
|
'cart_id' => $cart->id,
|
||||||
'product_id' => $product->id,
|
'product_id' => $product->id,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$totalQtyOrdered += $quantity;
|
||||||
|
|
||||||
|
$cartItems[] = $cartItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
// actually set the cart to the user's session
|
// actually set the cart to the user's session
|
||||||
|
|
@ -150,7 +160,8 @@ class Laravel5Helper extends Laravel5
|
||||||
'product' => $product,
|
'product' => $product,
|
||||||
'customer' => $customer,
|
'customer' => $customer,
|
||||||
'cartAddress' => $cartAddress,
|
'cartAddress' => $cartAddress,
|
||||||
'cartItem' => $cartItem,
|
'cartItems' => $cartItems,
|
||||||
|
'totalQtyOrdered' => $totalQtyOrdered,
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,13 @@ namespace Tests\Functional\Checkout\Cart;
|
||||||
use Faker\Factory;
|
use Faker\Factory;
|
||||||
use FunctionalTester;
|
use FunctionalTester;
|
||||||
use Cart;
|
use Cart;
|
||||||
|
use Webkul\Sales\Models\Order;
|
||||||
use Webkul\Sales\Models\OrderAddress;
|
use Webkul\Sales\Models\OrderAddress;
|
||||||
|
use Webkul\Sales\Models\OrderPayment;
|
||||||
use Webkul\Checkout\Models\CartAddress;
|
use Webkul\Checkout\Models\CartAddress;
|
||||||
|
use Webkul\Checkout\Models\CartPayment;
|
||||||
|
use Webkul\Customer\Models\Customer;
|
||||||
|
use Webkul\Core\Models\Channel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class OrderCest
|
* Class OrderCest
|
||||||
|
|
@ -61,7 +66,15 @@ class OrderCest
|
||||||
|
|
||||||
$I->seeResponseCodeIsSuccessful();
|
$I->seeResponseCodeIsSuccessful();
|
||||||
|
|
||||||
$I->seeRecord(CartAddress::class, $addressData);
|
$I->seeRecord(CartAddress::class, array_merge($addressData, [
|
||||||
|
'address_type' => 'shipping',
|
||||||
|
'cart_id' => $mocks['cart']->id,
|
||||||
|
]));
|
||||||
|
|
||||||
|
$I->seeRecord(CartAddress::class, array_merge($addressData, [
|
||||||
|
'address_type' => 'billing',
|
||||||
|
'cart_id' => $mocks['cart']->id,
|
||||||
|
]));
|
||||||
|
|
||||||
$I->sendAjaxPostRequest(route('shop.checkout.save-shipping'), [
|
$I->sendAjaxPostRequest(route('shop.checkout.save-shipping'), [
|
||||||
'_token' => csrf_token(),
|
'_token' => csrf_token(),
|
||||||
|
|
@ -79,6 +92,12 @@ class OrderCest
|
||||||
|
|
||||||
$I->seeResponseCodeIsSuccessful();
|
$I->seeResponseCodeIsSuccessful();
|
||||||
|
|
||||||
|
$I->seeRecord(CartPayment::class, [
|
||||||
|
'method' => 'cashondelivery',
|
||||||
|
'method_title' => null,
|
||||||
|
'cart_id' => $mocks['cart']->id,
|
||||||
|
]);
|
||||||
|
|
||||||
// simulate click on the 'place order' button at the last step:
|
// simulate click on the 'place order' button at the last step:
|
||||||
$I->sendAjaxPostRequest(route('shop.checkout.save-order'),
|
$I->sendAjaxPostRequest(route('shop.checkout.save-order'),
|
||||||
['_token' => csrf_token()]
|
['_token' => csrf_token()]
|
||||||
|
|
@ -86,6 +105,36 @@ class OrderCest
|
||||||
|
|
||||||
$I->seeResponseCodeIsSuccessful();
|
$I->seeResponseCodeIsSuccessful();
|
||||||
|
|
||||||
$I->seeRecord(OrderAddress::class, $addressData);
|
$order = $I->grabRecord(Order::class, [
|
||||||
|
'status' => 'pending',
|
||||||
|
'channel_name' => 'Default',
|
||||||
|
'is_guest' => 0,
|
||||||
|
'shipping_method' => 'free_free',
|
||||||
|
'shipping_title' => 'Free Shipping - Free Shipping',
|
||||||
|
'shipping_description' => 'Free Shipping',
|
||||||
|
'customer_type' => Customer::class,
|
||||||
|
'channel_id' => 1,
|
||||||
|
'channel_type' => Channel::class,
|
||||||
|
'cart_id' => $mocks['cart']->id,
|
||||||
|
'customer_id' => $customer->id,
|
||||||
|
'total_item_count' => count($mocks['cartItems']),
|
||||||
|
'total_qty_ordered' => $mocks['totalQtyOrdered'],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$I->seeRecord(OrderAddress::class, array_merge($addressData, [
|
||||||
|
'order_id' => $order->id,
|
||||||
|
'address_type' => 'shipping',
|
||||||
|
]));
|
||||||
|
|
||||||
|
$I->seeRecord(OrderAddress::class, array_merge($addressData, [
|
||||||
|
'order_id' => $order->id,
|
||||||
|
'address_type' => 'billing',
|
||||||
|
]));
|
||||||
|
|
||||||
|
$I->seeRecord(OrderPayment::class, [
|
||||||
|
'method' => 'cashondelivery',
|
||||||
|
'method_title' => null,
|
||||||
|
'order_id' => $order->id,
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue