test: adds integration test for shipping-option-requirements
This commit is contained in:
@@ -45,6 +45,7 @@ describe("/admin/draft-orders", () => {
|
|||||||
await manager.query(`DELETE FROM "product_variant"`);
|
await manager.query(`DELETE FROM "product_variant"`);
|
||||||
await manager.query(`DELETE FROM "product"`);
|
await manager.query(`DELETE FROM "product"`);
|
||||||
await manager.query(`DELETE FROM "shipping_method"`);
|
await manager.query(`DELETE FROM "shipping_method"`);
|
||||||
|
await manager.query(`DELETE FROM "shipping_option_requirement"`);
|
||||||
await manager.query(`DELETE FROM "shipping_option"`);
|
await manager.query(`DELETE FROM "shipping_option"`);
|
||||||
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
||||||
await manager.query(`DELETE FROM "discount"`);
|
await manager.query(`DELETE FROM "discount"`);
|
||||||
@@ -104,6 +105,79 @@ describe("/admin/draft-orders", () => {
|
|||||||
expect(response.status).toEqual(200);
|
expect(response.status).toEqual(200);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("fails to create a draft order with option requirement", async () => {
|
||||||
|
const api = useApi();
|
||||||
|
|
||||||
|
const payload = {
|
||||||
|
email: "oli@test.dk",
|
||||||
|
shipping_address: "oli-shipping",
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
quantity: 1,
|
||||||
|
metadata: {},
|
||||||
|
unit_price: 1,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
region_id: "test-region",
|
||||||
|
customer_id: "oli-test",
|
||||||
|
shipping_methods: [
|
||||||
|
{
|
||||||
|
option_id: "test-option-req",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
const response = await api
|
||||||
|
.post("/admin/draft-orders", payload, {
|
||||||
|
headers: {
|
||||||
|
Authorization: "Bearer test_token",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
return err.response;
|
||||||
|
});
|
||||||
|
expect(response.status).toEqual(400);
|
||||||
|
});
|
||||||
|
|
||||||
|
it("creates a draft order with option requirement", async () => {
|
||||||
|
const api = useApi();
|
||||||
|
|
||||||
|
const payload = {
|
||||||
|
email: "oli@test.dk",
|
||||||
|
shipping_address: "oli-shipping",
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
variant_id: "test-variant",
|
||||||
|
quantity: 2,
|
||||||
|
metadata: {},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
quantity: 1,
|
||||||
|
metadata: {},
|
||||||
|
unit_price: 10000,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
region_id: "test-region",
|
||||||
|
customer_id: "oli-test",
|
||||||
|
shipping_methods: [
|
||||||
|
{
|
||||||
|
option_id: "test-option-req",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
const response = await api
|
||||||
|
.post("/admin/draft-orders", payload, {
|
||||||
|
headers: {
|
||||||
|
Authorization: "Bearer test_token",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
expect(response.status).toEqual(200);
|
||||||
|
});
|
||||||
|
|
||||||
it("creates a draft order with custom item", async () => {
|
it("creates a draft order with custom item", async () => {
|
||||||
const api = useApi();
|
const api = useApi();
|
||||||
|
|
||||||
@@ -322,6 +396,7 @@ describe("/admin/draft-orders", () => {
|
|||||||
await manager.query(`DELETE FROM "product_variant"`);
|
await manager.query(`DELETE FROM "product_variant"`);
|
||||||
await manager.query(`DELETE FROM "product"`);
|
await manager.query(`DELETE FROM "product"`);
|
||||||
await manager.query(`DELETE FROM "shipping_method"`);
|
await manager.query(`DELETE FROM "shipping_method"`);
|
||||||
|
await manager.query(`DELETE FROM "shipping_option_requirement"`);
|
||||||
await manager.query(`DELETE FROM "shipping_option"`);
|
await manager.query(`DELETE FROM "shipping_option"`);
|
||||||
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
||||||
await manager.query(`DELETE FROM "discount"`);
|
await manager.query(`DELETE FROM "discount"`);
|
||||||
@@ -431,6 +506,7 @@ describe("/admin/draft-orders", () => {
|
|||||||
await manager.query(`DELETE FROM "product_variant"`);
|
await manager.query(`DELETE FROM "product_variant"`);
|
||||||
await manager.query(`DELETE FROM "product"`);
|
await manager.query(`DELETE FROM "product"`);
|
||||||
await manager.query(`DELETE FROM "shipping_method"`);
|
await manager.query(`DELETE FROM "shipping_method"`);
|
||||||
|
await manager.query(`DELETE FROM "shipping_option_requirement"`);
|
||||||
await manager.query(`DELETE FROM "shipping_option"`);
|
await manager.query(`DELETE FROM "shipping_option"`);
|
||||||
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
||||||
await manager.query(`DELETE FROM "discount"`);
|
await manager.query(`DELETE FROM "discount"`);
|
||||||
@@ -496,6 +572,7 @@ describe("/admin/draft-orders", () => {
|
|||||||
await manager.query(`DELETE FROM "product_variant"`);
|
await manager.query(`DELETE FROM "product_variant"`);
|
||||||
await manager.query(`DELETE FROM "product"`);
|
await manager.query(`DELETE FROM "product"`);
|
||||||
await manager.query(`DELETE FROM "shipping_method"`);
|
await manager.query(`DELETE FROM "shipping_method"`);
|
||||||
|
await manager.query(`DELETE FROM "shipping_option_requirement"`);
|
||||||
await manager.query(`DELETE FROM "shipping_option"`);
|
await manager.query(`DELETE FROM "shipping_option"`);
|
||||||
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
||||||
await manager.query(`DELETE FROM "discount"`);
|
await manager.query(`DELETE FROM "discount"`);
|
||||||
@@ -612,6 +689,7 @@ describe("/admin/draft-orders", () => {
|
|||||||
await manager.query(`DELETE FROM "product_variant"`);
|
await manager.query(`DELETE FROM "product_variant"`);
|
||||||
await manager.query(`DELETE FROM "product"`);
|
await manager.query(`DELETE FROM "product"`);
|
||||||
await manager.query(`DELETE FROM "shipping_method"`);
|
await manager.query(`DELETE FROM "shipping_method"`);
|
||||||
|
await manager.query(`DELETE FROM "shipping_option_requirement"`);
|
||||||
await manager.query(`DELETE FROM "shipping_option"`);
|
await manager.query(`DELETE FROM "shipping_option"`);
|
||||||
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
||||||
await manager.query(`DELETE FROM "discount"`);
|
await manager.query(`DELETE FROM "discount"`);
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ describe("/store/carts (draft-orders)", () => {
|
|||||||
await manager.query(`DELETE FROM "product_variant"`);
|
await manager.query(`DELETE FROM "product_variant"`);
|
||||||
await manager.query(`DELETE FROM "product"`);
|
await manager.query(`DELETE FROM "product"`);
|
||||||
await manager.query(`DELETE FROM "shipping_method"`);
|
await manager.query(`DELETE FROM "shipping_method"`);
|
||||||
|
await manager.query(`DELETE FROM "shipping_option_requirement"`);
|
||||||
await manager.query(`DELETE FROM "shipping_option"`);
|
await manager.query(`DELETE FROM "shipping_option"`);
|
||||||
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
await manager.query(`UPDATE "discount" SET rule_id=NULL`);
|
||||||
await manager.query(`DELETE FROM "discount"`);
|
await manager.query(`DELETE FROM "discount"`);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ const {
|
|||||||
Customer,
|
Customer,
|
||||||
MoneyAmount,
|
MoneyAmount,
|
||||||
ShippingOption,
|
ShippingOption,
|
||||||
|
ShippingOptionRequirement,
|
||||||
Product,
|
Product,
|
||||||
ProductVariant,
|
ProductVariant,
|
||||||
Region,
|
Region,
|
||||||
@@ -166,6 +167,24 @@ module.exports = async (connection, data = {}) => {
|
|||||||
data: {},
|
data: {},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await manager.insert(ShippingOption, {
|
||||||
|
id: "test-option-req",
|
||||||
|
name: "test-option-req",
|
||||||
|
provider_id: "test-ful",
|
||||||
|
region_id: "test-region",
|
||||||
|
profile_id: defaultProfile.id,
|
||||||
|
price_type: "flat_rate",
|
||||||
|
amount: 1000,
|
||||||
|
data: {},
|
||||||
|
});
|
||||||
|
|
||||||
|
await manager.insert(ShippingOptionRequirement, {
|
||||||
|
id: "option-req",
|
||||||
|
shipping_option_id: "test-option-req",
|
||||||
|
type: "min_subtotal",
|
||||||
|
amount: 10,
|
||||||
|
});
|
||||||
|
|
||||||
const c = manager.create(Cart, {
|
const c = manager.create(Cart, {
|
||||||
id: "test-cart",
|
id: "test-cart",
|
||||||
customer_id: "oli-test",
|
customer_id: "oli-test",
|
||||||
|
|||||||
Reference in New Issue
Block a user