mirror of
https://github.com/bringout/oca-ocb-pos.git
synced 2026-04-23 21:42:00 +02:00
19.0 vanilla
This commit is contained in:
parent
6e54c1af6c
commit
3ca647e428
1087 changed files with 132065 additions and 108499 deletions
|
|
@ -0,0 +1,48 @@
|
|||
import { test, expect } from "@odoo/hoot";
|
||||
import { setupPosEnv } from "@point_of_sale/../tests/unit/utils";
|
||||
import { definePosModels } from "@point_of_sale/../tests/unit/data/generate_model_definitions";
|
||||
import { addProductLineToOrder } from "@pos_loyalty/../tests/unit/utils";
|
||||
import OrderPaymentValidation from "@point_of_sale/app/utils/order_payment_validation";
|
||||
|
||||
definePosModels();
|
||||
|
||||
test("validateOrder", async () => {
|
||||
const store = await setupPosEnv();
|
||||
const models = store.models;
|
||||
const order = store.addNewOrder();
|
||||
const fastPaymentMethod = order.config.fast_payment_method_ids[0];
|
||||
|
||||
// Get loyalty program #1 - type = "loyalty"
|
||||
const loyaltyProgram = models["loyalty.program"].get(1);
|
||||
// Get loyalty card #1 - linked to Partner #1
|
||||
const card = models["loyalty.card"].get(1);
|
||||
// Get loyalty reward #1 - type = "discount"
|
||||
const reward = models["loyalty.reward"].get(1);
|
||||
|
||||
order.uiState.couponPointChanges = {
|
||||
[card.id]: { coupon_id: card.id, program_id: loyaltyProgram.id, points: 100 },
|
||||
"-1": { coupon_id: -1, program_id: loyaltyProgram.id, points: 30, partner_id: 1 },
|
||||
};
|
||||
|
||||
await addProductLineToOrder(store, order, {
|
||||
coupon_id: card,
|
||||
is_reward_line: true,
|
||||
reward_id: reward,
|
||||
points_cost: 60,
|
||||
});
|
||||
|
||||
const validation = new OrderPaymentValidation({
|
||||
pos: store,
|
||||
orderUuid: store.getOrder().uuid,
|
||||
fastPaymentMethod: fastPaymentMethod,
|
||||
});
|
||||
|
||||
validation.isOrderValid = async () => true;
|
||||
|
||||
await validation.validateOrder();
|
||||
|
||||
expect(card.points).toBe(50);
|
||||
expect(loyaltyProgram.total_order_count).toBe(0);
|
||||
expect(order.new_coupon_info[0].code).toMatch(/^[A-Za-z0-9]+$/);
|
||||
expect(order.new_coupon_info[0].program_name).toBe(loyaltyProgram.name);
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue