feat: update and cancel swaps, claims, and returns (#310)
This commit is contained in:
@@ -1,49 +1,49 @@
|
||||
const path = require("path");
|
||||
const path = require("path")
|
||||
|
||||
const setupServer = require("../../../helpers/setup-server");
|
||||
const { useApi } = require("../../../helpers/use-api");
|
||||
const { initDb, useDb } = require("../../../helpers/use-db");
|
||||
const setupServer = require("../../../helpers/setup-server")
|
||||
const { useApi } = require("../../../helpers/use-api")
|
||||
const { initDb, useDb } = require("../../../helpers/use-db")
|
||||
|
||||
const draftOrderSeeder = require("../../helpers/draft-order-seeder");
|
||||
const adminSeeder = require("../../helpers/admin-seeder");
|
||||
const draftOrderSeeder = require("../../helpers/draft-order-seeder")
|
||||
const adminSeeder = require("../../helpers/admin-seeder")
|
||||
|
||||
jest.setTimeout(30000);
|
||||
jest.setTimeout(30000)
|
||||
|
||||
describe("/admin/draft-orders", () => {
|
||||
let medusaProcess;
|
||||
let dbConnection;
|
||||
let medusaProcess
|
||||
let dbConnection
|
||||
|
||||
beforeAll(async () => {
|
||||
const cwd = path.resolve(path.join(__dirname, "..", ".."));
|
||||
dbConnection = await initDb({ cwd });
|
||||
medusaProcess = await setupServer({ cwd });
|
||||
});
|
||||
const cwd = path.resolve(path.join(__dirname, "..", ".."))
|
||||
dbConnection = await initDb({ cwd })
|
||||
medusaProcess = await setupServer({ cwd })
|
||||
})
|
||||
|
||||
afterAll(async () => {
|
||||
const db = useDb();
|
||||
await db.shutdown();
|
||||
const db = useDb()
|
||||
await db.shutdown()
|
||||
|
||||
medusaProcess.kill();
|
||||
});
|
||||
medusaProcess.kill()
|
||||
})
|
||||
|
||||
describe("POST /admin/draft-orders", () => {
|
||||
beforeEach(async () => {
|
||||
try {
|
||||
await adminSeeder(dbConnection);
|
||||
await draftOrderSeeder(dbConnection);
|
||||
await adminSeeder(dbConnection)
|
||||
await draftOrderSeeder(dbConnection)
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
throw err;
|
||||
console.log(err)
|
||||
throw err
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
afterEach(async () => {
|
||||
const db = useDb();
|
||||
await db.teardown();
|
||||
});
|
||||
const db = useDb()
|
||||
await db.teardown()
|
||||
})
|
||||
|
||||
it("creates a draft order cart", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const payload = {
|
||||
email: "oli@test.dk",
|
||||
@@ -62,7 +62,7 @@ describe("/admin/draft-orders", () => {
|
||||
option_id: "test-option",
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
const response = await api
|
||||
.post("/admin/draft-orders", payload, {
|
||||
@@ -71,13 +71,13 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
expect(response.status).toEqual(200);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
expect(response.status).toEqual(200)
|
||||
})
|
||||
|
||||
it("creates a draft order cart and creates new user", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const payload = {
|
||||
email: "non-existing@test.dk",
|
||||
@@ -96,7 +96,7 @@ describe("/admin/draft-orders", () => {
|
||||
option_id: "test-option",
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
const response = await api
|
||||
.post("/admin/draft-orders", payload, {
|
||||
@@ -105,19 +105,19 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
expect(response.status).toEqual(200);
|
||||
expect(response.status).toEqual(200)
|
||||
|
||||
const draftOrder = response.data.draft_order;
|
||||
const draftOrder = response.data.draft_order
|
||||
|
||||
expect(draftOrder.cart.customer_id).toBeDefined();
|
||||
expect(draftOrder.cart.email).toEqual("non-existing@test.dk");
|
||||
});
|
||||
expect(draftOrder.cart.customer_id).toBeDefined()
|
||||
expect(draftOrder.cart.email).toEqual("non-existing@test.dk")
|
||||
})
|
||||
|
||||
it("fails to create a draft order with option requirement", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const payload = {
|
||||
email: "oli@test.dk",
|
||||
@@ -136,7 +136,7 @@ describe("/admin/draft-orders", () => {
|
||||
option_id: "test-option-req",
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
const response = await api
|
||||
.post("/admin/draft-orders", payload, {
|
||||
@@ -145,13 +145,13 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
return err.response;
|
||||
});
|
||||
expect(response.status).toEqual(400);
|
||||
});
|
||||
return err.response
|
||||
})
|
||||
expect(response.status).toEqual(400)
|
||||
})
|
||||
|
||||
it("creates a draft order with option requirement", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const payload = {
|
||||
email: "oli@test.dk",
|
||||
@@ -175,7 +175,7 @@ describe("/admin/draft-orders", () => {
|
||||
option_id: "test-option-req",
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
const response = await api
|
||||
.post("/admin/draft-orders", payload, {
|
||||
@@ -184,13 +184,13 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
expect(response.status).toEqual(200);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
expect(response.status).toEqual(200)
|
||||
})
|
||||
|
||||
it("creates a draft order with custom item", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const payload = {
|
||||
email: "oli@test.dk",
|
||||
@@ -214,7 +214,7 @@ describe("/admin/draft-orders", () => {
|
||||
option_id: "test-option",
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
const response = await api
|
||||
.post("/admin/draft-orders", payload, {
|
||||
@@ -223,13 +223,13 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
expect(response.status).toEqual(200);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
expect(response.status).toEqual(200)
|
||||
})
|
||||
|
||||
it("creates a draft order with product variant with custom price and custom item price set to 0", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const payload = {
|
||||
email: "oli@test.dk",
|
||||
@@ -255,7 +255,7 @@ describe("/admin/draft-orders", () => {
|
||||
option_id: "test-option",
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
const response = await api
|
||||
.post("/admin/draft-orders", payload, {
|
||||
@@ -264,8 +264,8 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
const created = await api
|
||||
.get(`/admin/draft-orders/${response.data.draft_order.id}`, {
|
||||
@@ -274,10 +274,10 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
expect(response.status).toEqual(200);
|
||||
expect(response.status).toEqual(200)
|
||||
expect(created.data.draft_order.cart.items).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
@@ -288,17 +288,17 @@ describe("/admin/draft-orders", () => {
|
||||
unit_price: 0,
|
||||
}),
|
||||
])
|
||||
);
|
||||
)
|
||||
// Check that discount is applied
|
||||
expect(created.data.draft_order.cart.discounts[0]).toEqual(
|
||||
expect.objectContaining({
|
||||
code: "TEST",
|
||||
})
|
||||
);
|
||||
});
|
||||
)
|
||||
})
|
||||
|
||||
it("creates a draft order with created shipping address", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const payload = {
|
||||
email: "oli@test.dk",
|
||||
@@ -329,7 +329,7 @@ describe("/admin/draft-orders", () => {
|
||||
option_id: "test-option",
|
||||
},
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
const response = await api
|
||||
.post("/admin/draft-orders", payload, {
|
||||
@@ -338,13 +338,13 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
expect(response.status).toEqual(200);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
expect(response.status).toEqual(200)
|
||||
})
|
||||
|
||||
it("creates a draft order and registers manual payment", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
// register system payment for draft order
|
||||
const orderResponse = await api.post(
|
||||
@@ -355,7 +355,7 @@ describe("/admin/draft-orders", () => {
|
||||
Authorization: "Bearer test_token",
|
||||
},
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
const createdOrder = await api.get(
|
||||
`/admin/orders/${orderResponse.data.order.id}`,
|
||||
@@ -364,7 +364,7 @@ describe("/admin/draft-orders", () => {
|
||||
Authorization: "Bearer test_token",
|
||||
},
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
const updatedDraftOrder = await api.get(
|
||||
`/admin/draft-orders/test-draft-order`,
|
||||
@@ -373,40 +373,38 @@ describe("/admin/draft-orders", () => {
|
||||
Authorization: "Bearer test_token",
|
||||
},
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
expect(orderResponse.status).toEqual(200);
|
||||
expect(orderResponse.status).toEqual(200)
|
||||
// expect newly created order to have id of draft order and system payment
|
||||
expect(createdOrder.data.order.draft_order_id).toEqual(
|
||||
"test-draft-order"
|
||||
);
|
||||
expect(createdOrder.data.order.draft_order_id).toEqual("test-draft-order")
|
||||
expect(createdOrder.data.order.payments).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({ provider_id: "system" }),
|
||||
])
|
||||
);
|
||||
)
|
||||
// expect draft order to be complete
|
||||
expect(updatedDraftOrder.data.draft_order.status).toEqual("completed");
|
||||
expect(updatedDraftOrder.data.draft_order.completed_at).not.toEqual(null);
|
||||
});
|
||||
});
|
||||
expect(updatedDraftOrder.data.draft_order.status).toEqual("completed")
|
||||
expect(updatedDraftOrder.data.draft_order.completed_at).not.toEqual(null)
|
||||
})
|
||||
})
|
||||
describe("GET /admin/draft-orders", () => {
|
||||
beforeEach(async () => {
|
||||
try {
|
||||
await adminSeeder(dbConnection);
|
||||
await draftOrderSeeder(dbConnection);
|
||||
await adminSeeder(dbConnection)
|
||||
await draftOrderSeeder(dbConnection)
|
||||
} catch (err) {
|
||||
throw err;
|
||||
throw err
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
afterEach(async () => {
|
||||
const db = useDb();
|
||||
await db.teardown();
|
||||
});
|
||||
const db = useDb()
|
||||
await db.teardown()
|
||||
})
|
||||
|
||||
it("lists draft orders", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const response = await api
|
||||
.get("/admin/draft-orders", {
|
||||
@@ -415,20 +413,20 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
expect(response.status).toEqual(200);
|
||||
expect(response.status).toEqual(200)
|
||||
|
||||
expect(response.data.draft_orders).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({ id: "test-draft-order" }),
|
||||
])
|
||||
);
|
||||
});
|
||||
)
|
||||
})
|
||||
|
||||
it("lists draft orders with query", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const response = await api
|
||||
.get("/admin/draft-orders?q=oli@test", {
|
||||
@@ -437,10 +435,10 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
expect(response.status).toEqual(200);
|
||||
expect(response.status).toEqual(200)
|
||||
|
||||
expect(response.data.draft_orders).toEqual(
|
||||
expect.arrayContaining([
|
||||
@@ -448,11 +446,11 @@ describe("/admin/draft-orders", () => {
|
||||
cart: expect.objectContaining({ email: "oli@test.dk" }),
|
||||
}),
|
||||
])
|
||||
);
|
||||
});
|
||||
)
|
||||
})
|
||||
|
||||
it("lists no draft orders on query for non-existing email", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const response = await api
|
||||
.get("/admin/draft-orders?q=heyo@heyo.dk", {
|
||||
@@ -461,34 +459,34 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
expect(response.status).toEqual(200);
|
||||
expect(response.status).toEqual(200)
|
||||
|
||||
expect(response.data.draft_orders).toEqual([]);
|
||||
expect(response.data.count).toEqual(0);
|
||||
});
|
||||
});
|
||||
expect(response.data.draft_orders).toEqual([])
|
||||
expect(response.data.count).toEqual(0)
|
||||
})
|
||||
})
|
||||
|
||||
describe("DELETE /admin/draft-orders/:id", () => {
|
||||
beforeEach(async () => {
|
||||
try {
|
||||
await adminSeeder(dbConnection);
|
||||
await draftOrderSeeder(dbConnection);
|
||||
await adminSeeder(dbConnection)
|
||||
await draftOrderSeeder(dbConnection)
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
throw err;
|
||||
console.log(err)
|
||||
throw err
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
afterEach(async () => {
|
||||
const db = useDb();
|
||||
await db.teardown();
|
||||
});
|
||||
const db = useDb()
|
||||
await db.teardown()
|
||||
})
|
||||
|
||||
it("deletes a draft order", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const response = await api
|
||||
.delete("/admin/draft-orders/test-draft-order", {
|
||||
@@ -497,36 +495,36 @@ describe("/admin/draft-orders", () => {
|
||||
},
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
expect(response.status).toEqual(200);
|
||||
expect(response.status).toEqual(200)
|
||||
|
||||
expect(response.data).toEqual({
|
||||
id: "test-draft-order",
|
||||
object: "draft-order",
|
||||
deleted: true,
|
||||
});
|
||||
});
|
||||
});
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe("POST /admin/draft-orders/:id/line-items/:line_id", () => {
|
||||
beforeEach(async () => {
|
||||
try {
|
||||
await adminSeeder(dbConnection);
|
||||
await draftOrderSeeder(dbConnection, { status: "open" });
|
||||
await adminSeeder(dbConnection)
|
||||
await draftOrderSeeder(dbConnection, { status: "open" })
|
||||
} catch (err) {
|
||||
throw err;
|
||||
throw err
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
afterEach(async () => {
|
||||
const db = useDb();
|
||||
await db.teardown();
|
||||
});
|
||||
const db = useDb()
|
||||
await db.teardown()
|
||||
})
|
||||
|
||||
it("updates a line item on the draft order", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const response = await api
|
||||
.post(
|
||||
@@ -542,10 +540,10 @@ describe("/admin/draft-orders", () => {
|
||||
}
|
||||
)
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
expect(response.status).toEqual(200);
|
||||
expect(response.status).toEqual(200)
|
||||
|
||||
const updatedDraftOrder = await api.get(
|
||||
`/admin/draft-orders/test-draft-order`,
|
||||
@@ -554,16 +552,16 @@ describe("/admin/draft-orders", () => {
|
||||
Authorization: "Bearer test_token",
|
||||
},
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
const item = updatedDraftOrder.data.draft_order.cart.items[0];
|
||||
const item = updatedDraftOrder.data.draft_order.cart.items[0]
|
||||
|
||||
expect(item.title).toEqual("Update title");
|
||||
expect(item.unit_price).toEqual(1000);
|
||||
});
|
||||
expect(item.title).toEqual("Update title")
|
||||
expect(item.unit_price).toEqual(1000)
|
||||
})
|
||||
|
||||
it("removes the line item, if quantity is 0", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const response = await api
|
||||
.post(
|
||||
@@ -579,10 +577,10 @@ describe("/admin/draft-orders", () => {
|
||||
}
|
||||
)
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
expect(response.status).toEqual(200);
|
||||
expect(response.status).toEqual(200)
|
||||
|
||||
const updatedDraftOrder = await api.get(
|
||||
`/admin/draft-orders/test-draft-order`,
|
||||
@@ -591,31 +589,31 @@ describe("/admin/draft-orders", () => {
|
||||
Authorization: "Bearer test_token",
|
||||
},
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
const items = updatedDraftOrder.data.draft_order.cart.items;
|
||||
const items = updatedDraftOrder.data.draft_order.cart.items
|
||||
|
||||
expect(items).toEqual([]);
|
||||
});
|
||||
});
|
||||
expect(items).toEqual([])
|
||||
})
|
||||
})
|
||||
|
||||
describe("POST /admin/draft-orders/:id", () => {
|
||||
beforeEach(async () => {
|
||||
try {
|
||||
await adminSeeder(dbConnection);
|
||||
await draftOrderSeeder(dbConnection, { status: "open" });
|
||||
await adminSeeder(dbConnection)
|
||||
await draftOrderSeeder(dbConnection, { status: "open" })
|
||||
} catch (err) {
|
||||
throw err;
|
||||
throw err
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
afterEach(async () => {
|
||||
const db = useDb();
|
||||
await db.teardown();
|
||||
});
|
||||
const db = useDb()
|
||||
await db.teardown()
|
||||
})
|
||||
|
||||
it("updates a line item on the draft order", async () => {
|
||||
const api = useApi();
|
||||
const api = useApi()
|
||||
|
||||
const response = await api
|
||||
.post(
|
||||
@@ -647,10 +645,10 @@ describe("/admin/draft-orders", () => {
|
||||
}
|
||||
)
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
expect(response.status).toEqual(200);
|
||||
expect(response.status).toEqual(200)
|
||||
|
||||
const updatedDraftOrder = await api.get(
|
||||
`/admin/draft-orders/test-draft-order`,
|
||||
@@ -659,14 +657,14 @@ describe("/admin/draft-orders", () => {
|
||||
Authorization: "Bearer test_token",
|
||||
},
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
const dorder = updatedDraftOrder.data.draft_order;
|
||||
const dorder = updatedDraftOrder.data.draft_order
|
||||
|
||||
expect(dorder.cart.email).toEqual("lebron@james.com");
|
||||
expect(dorder.cart.billing_address.first_name).toEqual("lebron");
|
||||
expect(dorder.cart.shipping_address.last_name).toEqual("james");
|
||||
expect(dorder.cart.discounts[0].code).toEqual("TEST");
|
||||
});
|
||||
});
|
||||
});
|
||||
expect(dorder.cart.email).toEqual("lebron@james.com")
|
||||
expect(dorder.cart.billing_address.first_name).toEqual("lebron")
|
||||
expect(dorder.cart.shipping_address.last_name).toEqual("james")
|
||||
expect(dorder.cart.discounts[0].code).toEqual("TEST")
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -13,6 +13,14 @@ const { initDb, useDb } = require("../../../helpers/use-db");
|
||||
const orderSeeder = require("../../helpers/order-seeder");
|
||||
const swapSeeder = require("../../helpers/swap-seeder");
|
||||
const adminSeeder = require("../../helpers/admin-seeder");
|
||||
const claimSeeder = require("../../helpers/claim-seeder");
|
||||
|
||||
const {
|
||||
expectPostCallToReturn,
|
||||
expectAllPostCallsToReturn,
|
||||
callGet,
|
||||
partial,
|
||||
} = require("../../helpers/call-helpers");
|
||||
|
||||
jest.setTimeout(30000);
|
||||
|
||||
@@ -70,6 +78,8 @@ describe("/admin/orders", () => {
|
||||
try {
|
||||
await adminSeeder(dbConnection);
|
||||
await orderSeeder(dbConnection);
|
||||
await swapSeeder(dbConnection);
|
||||
await claimSeeder(dbConnection);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
throw err;
|
||||
@@ -217,6 +227,7 @@ describe("/admin/orders", () => {
|
||||
try {
|
||||
await adminSeeder(dbConnection);
|
||||
await orderSeeder(dbConnection);
|
||||
await claimSeeder(dbConnection);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
throw err;
|
||||
@@ -411,6 +422,7 @@ describe("/admin/orders", () => {
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
expect(response.status).toEqual(200);
|
||||
|
||||
expect(response.data.order.claims[0].claim_items).toEqual(
|
||||
@@ -738,6 +750,58 @@ describe("/admin/orders", () => {
|
||||
]);
|
||||
});
|
||||
|
||||
it("Only allow canceling claim after canceling fulfillments", async () => {
|
||||
const order_id = "order-with-claim";
|
||||
|
||||
const order = await callGet({
|
||||
path: `/admin/orders/${order_id}`,
|
||||
get: "order",
|
||||
});
|
||||
|
||||
const claim = order.claims.filter((s) => s.id === "claim-w-f")[0];
|
||||
const claim_id = claim.id;
|
||||
|
||||
const expectCancelToReturn = partial(expectPostCallToReturn, {
|
||||
path: `/admin/orders/${order_id}/claims/${claim_id}/cancel`,
|
||||
});
|
||||
|
||||
await expectCancelToReturn({ code: 400 });
|
||||
|
||||
await expectAllPostCallsToReturn({
|
||||
code: 200,
|
||||
col: claim.fulfillments,
|
||||
pathf: (f) =>
|
||||
`/admin/orders/${order_id}/claims/${claim_id}/fulfillments/${f.id}/cancel`,
|
||||
});
|
||||
|
||||
await expectCancelToReturn({ code: 200 });
|
||||
});
|
||||
|
||||
it("Only allow canceling claim after canceling returns", async () => {
|
||||
const order_id = "order-with-claim";
|
||||
|
||||
const order = await callGet({
|
||||
path: `/admin/orders/${order_id}`,
|
||||
get: "order",
|
||||
});
|
||||
|
||||
const claim = order.claims.filter((c) => c.id === "claim-w-r")[0];
|
||||
const claim_id = claim.id;
|
||||
|
||||
const expectCancelToReturn = partial(expectPostCallToReturn, {
|
||||
path: `/admin/orders/${order_id}/claims/${claim_id}/cancel`,
|
||||
});
|
||||
|
||||
await expectCancelToReturn({ code: 400 });
|
||||
|
||||
await expectPostCallToReturn({
|
||||
code: 200,
|
||||
path: `/admin/returns/${claim.return_order.id}/cancel`,
|
||||
});
|
||||
|
||||
await expectCancelToReturn({ code: 200 });
|
||||
});
|
||||
|
||||
it("fails to creates a claim due to no stock on additional items", async () => {
|
||||
const api = useApi();
|
||||
try {
|
||||
@@ -935,6 +999,20 @@ describe("/admin/orders", () => {
|
||||
expect.objectContaining({
|
||||
id: "test-order",
|
||||
}),
|
||||
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-c",
|
||||
}),
|
||||
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-s",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-f",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-r",
|
||||
}),
|
||||
]);
|
||||
});
|
||||
|
||||
@@ -955,6 +1033,19 @@ describe("/admin/orders", () => {
|
||||
expect.objectContaining({
|
||||
id: "test-order",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-c",
|
||||
}),
|
||||
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-s",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-f",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-r",
|
||||
}),
|
||||
]);
|
||||
});
|
||||
|
||||
@@ -991,6 +1082,19 @@ describe("/admin/orders", () => {
|
||||
expect.objectContaining({
|
||||
id: "test-order",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-c",
|
||||
}),
|
||||
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-s",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-f",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-r",
|
||||
}),
|
||||
]);
|
||||
});
|
||||
|
||||
@@ -1027,8 +1131,72 @@ describe("/admin/orders", () => {
|
||||
expect.objectContaining({
|
||||
id: "test-order",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-c",
|
||||
}),
|
||||
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-s",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-f",
|
||||
}),
|
||||
expect.objectContaining({
|
||||
id: "test-order-w-r",
|
||||
}),
|
||||
]);
|
||||
});
|
||||
|
||||
it.each([
|
||||
[
|
||||
"returns",
|
||||
"test-order-w-r",
|
||||
(o) => o.returns,
|
||||
(r) => `/admin/returns/${r.id}/cancel`,
|
||||
],
|
||||
[
|
||||
"swaps",
|
||||
"test-order-w-s",
|
||||
(o) => o.swaps,
|
||||
(s) => `/admin/orders/test-order-w-s/swaps/${s.id}/cancel`,
|
||||
],
|
||||
[
|
||||
"claims",
|
||||
"test-order-w-c",
|
||||
(o) => o.claims,
|
||||
(c) => `/admin/orders/test-order-w-c/claims/${c.id}/cancel`,
|
||||
],
|
||||
[
|
||||
"fulfillments",
|
||||
"test-order-w-f",
|
||||
(o) => o.fulfillments,
|
||||
(f) => `/admin/orders/test-order-w-f/fulfillments/${f.id}/cancel`,
|
||||
],
|
||||
])(
|
||||
"Only allows canceling order after canceling %s",
|
||||
async (id, o, of, pf) => {
|
||||
const order_id = o;
|
||||
|
||||
const order = await callGet({
|
||||
path: `/admin/orders/${order_id}`,
|
||||
get: "order",
|
||||
});
|
||||
|
||||
const expectCanceltoReturn = partial(expectPostCallToReturn, {
|
||||
path: `/admin/orders/${order_id}/cancel`,
|
||||
});
|
||||
|
||||
await expectCanceltoReturn({ code: 400 });
|
||||
|
||||
await expectAllPostCallsToReturn({
|
||||
code: 200,
|
||||
col: of(order),
|
||||
pathf: pf,
|
||||
});
|
||||
|
||||
await expectCanceltoReturn({ code: 200 });
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
describe("POST /admin/orders/:id/swaps", () => {
|
||||
@@ -1290,5 +1458,59 @@ describe("/admin/orders", () => {
|
||||
|
||||
expect(received.status).toEqual(200);
|
||||
});
|
||||
|
||||
it("Only allows canceling swap after canceling fulfillments", async () => {
|
||||
try {
|
||||
const swap_id = "swap-w-f";
|
||||
|
||||
const swap = await callGet({
|
||||
path: `/admin/swaps/${swap_id}`,
|
||||
get: "swap",
|
||||
});
|
||||
|
||||
const { order_id } = swap;
|
||||
|
||||
const expectCancelToReturn = partial(expectPostCallToReturn, {
|
||||
path: `/admin/orders/${order_id}/swaps/${swap_id}/cancel`,
|
||||
});
|
||||
|
||||
await expectCancelToReturn({ code: 400 });
|
||||
|
||||
await expectAllPostCallsToReturn({
|
||||
code: 200,
|
||||
col: swap.fulfillments,
|
||||
pathf: (f) =>
|
||||
`/admin/orders/${order_id}/swaps/${swap_id}/fulfillments/${f.id}/cancel`,
|
||||
});
|
||||
|
||||
await expectCancelToReturn({ code: 200 });
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
});
|
||||
|
||||
it("Only allows canceling swap after canceling return", async () => {
|
||||
const swap_id = "swap-w-r";
|
||||
|
||||
const swap = await callGet({
|
||||
path: `/admin/swaps/${swap_id}`,
|
||||
get: "swap",
|
||||
});
|
||||
|
||||
const { order_id } = swap;
|
||||
|
||||
const expectCancelToReturn = partial(expectPostCallToReturn, {
|
||||
path: `/admin/orders/${order_id}/swaps/${swap_id}/cancel`,
|
||||
});
|
||||
|
||||
await expectCancelToReturn({ code: 400 });
|
||||
|
||||
await expectPostCallToReturn({
|
||||
code: 200,
|
||||
path: `/admin/returns/${swap.return_order.id}/cancel`,
|
||||
});
|
||||
|
||||
await expectCancelToReturn({ code: 200 });
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -283,7 +283,7 @@ Object {
|
||||
"created_at": Any<String>,
|
||||
"currency_code": "usd",
|
||||
"customer_id": "test-customer",
|
||||
"display_id": 2,
|
||||
"display_id": 6,
|
||||
"draft_order_id": null,
|
||||
"email": "test@email.com",
|
||||
"fulfillment_status": "fulfilled",
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
const { useApi } = require("../../helpers/use-api");
|
||||
|
||||
const header = {
|
||||
headers: {
|
||||
authorization: "Bearer test_token",
|
||||
},
|
||||
};
|
||||
|
||||
const resolveCall = async (path, payload, header) => {
|
||||
const api = useApi();
|
||||
let res;
|
||||
try {
|
||||
const resp = await api.post(path, payload, header);
|
||||
res = resp.status;
|
||||
} catch (expectedException) {
|
||||
try {
|
||||
res = expectedException.response.status;
|
||||
} catch (_) {
|
||||
console.error(expectedException);
|
||||
}
|
||||
}
|
||||
return res;
|
||||
};
|
||||
|
||||
const determineFail = (actual, expected, path) => {
|
||||
if (expected !== actual) {
|
||||
console.log(`failed at path : ${path}`);
|
||||
}
|
||||
expect(actual).toEqual(expected);
|
||||
};
|
||||
|
||||
/**
|
||||
* Allows you to wrap a Call function so that you may reuse some input values.
|
||||
* @param {Function} fun - the function to call with partial information
|
||||
* @param {Object} input - the constant input which we want to supply now
|
||||
* @returns
|
||||
*/
|
||||
module.exports.partial = function (fun, input = {}) {
|
||||
return async (remaining) => await fun({ ...remaining, ...input });
|
||||
};
|
||||
|
||||
/**
|
||||
* Allows you to assert a specific code result from a POST call.
|
||||
* @param {Object} input - the information needed to make the call
|
||||
* (path & payload) and the expected code (code)
|
||||
*/
|
||||
module.exports.expectPostCallToReturn = async function (
|
||||
input = {
|
||||
code,
|
||||
path,
|
||||
payload: {},
|
||||
}
|
||||
) {
|
||||
const res = await resolveCall(input.path, input.payload, header);
|
||||
determineFail(res, input.code, input.path);
|
||||
};
|
||||
|
||||
/**
|
||||
* Allows you to assert a specific code result from multiple POST
|
||||
* calls.
|
||||
* @param {Object} input - the collection of objects to execute
|
||||
* calls from (col), a function which yields the path (pathf),
|
||||
* and another one which provides the payload (payloadf), as
|
||||
* well as the code (code) which we want to assert.
|
||||
*/
|
||||
module.exports.expectAllPostCallsToReturn = async function (
|
||||
input = {
|
||||
code,
|
||||
col,
|
||||
pathf,
|
||||
payloadf,
|
||||
}
|
||||
) {
|
||||
for (const i of input.col) {
|
||||
const res = await resolveCall(
|
||||
input.pathf(i),
|
||||
input.payloadf ? input.payloadf(i) : {},
|
||||
header
|
||||
);
|
||||
determineFail(res, input.code, input.pathf(i));
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Allows you to retrieve a specific object the response
|
||||
* from get call,
|
||||
* and simultaneously assert that the call was successful.
|
||||
* @param {Object} param0 - contains the path which to
|
||||
* call (path), and the object within the response.data (get)
|
||||
* we want to retrieve.
|
||||
* @returns {Object} found within response.data corresponding
|
||||
* to the get parameter provided.
|
||||
*/
|
||||
module.exports.callGet = async function ({ path, get }) {
|
||||
const api = useApi();
|
||||
const res = await api.get(path, header);
|
||||
|
||||
determineFail(res.status, 200, path);
|
||||
return res?.data[get];
|
||||
};
|
||||
@@ -0,0 +1,118 @@
|
||||
const {
|
||||
ClaimOrder,
|
||||
Order,
|
||||
LineItem,
|
||||
Fulfillment,
|
||||
Return,
|
||||
} = require("@medusajs/medusa");
|
||||
|
||||
module.exports = async (connection, data = {}) => {
|
||||
const manager = connection.manager;
|
||||
|
||||
let orderWithClaim = manager.create(Order, {
|
||||
id: "order-with-claim",
|
||||
customer_id: "test-customer",
|
||||
email: "test@email.com",
|
||||
payment_status: "captured",
|
||||
fulfillment_status: "fulfilled",
|
||||
billing_address: {
|
||||
id: "test-billing-address",
|
||||
first_name: "lebron",
|
||||
},
|
||||
shipping_address: {
|
||||
id: "test-shipping-address",
|
||||
first_name: "lebron",
|
||||
country_code: "us",
|
||||
},
|
||||
region_id: "test-region",
|
||||
currency_code: "usd",
|
||||
tax_rate: 0,
|
||||
discounts: [],
|
||||
payments: [
|
||||
{
|
||||
id: "test-payment-for-claim-order",
|
||||
amount: 10000,
|
||||
currency_code: "usd",
|
||||
amount_refunded: 0,
|
||||
provider_id: "test-pay",
|
||||
data: {},
|
||||
},
|
||||
],
|
||||
items: [],
|
||||
...data,
|
||||
});
|
||||
|
||||
await manager.save(orderWithClaim);
|
||||
|
||||
const li = manager.create(LineItem, {
|
||||
id: "test-item-co-2",
|
||||
fulfilled_quantity: 1,
|
||||
title: "Line Item",
|
||||
description: "Line Item Desc",
|
||||
thumbnail: "https://test.js/1234",
|
||||
unit_price: 8000,
|
||||
quantity: 1,
|
||||
variant_id: "test-variant",
|
||||
order_id: orderWithClaim.id,
|
||||
});
|
||||
|
||||
await manager.save(li);
|
||||
|
||||
const li2 = manager.create(LineItem, {
|
||||
id: "test-item-co-3",
|
||||
fulfilled_quantity: 4,
|
||||
title: "Line Item",
|
||||
description: "Line Item Desc",
|
||||
thumbnail: "https://test.js/1234",
|
||||
unit_price: 8000,
|
||||
quantity: 4,
|
||||
variant_id: "test-variant",
|
||||
order_id: orderWithClaim.id,
|
||||
});
|
||||
|
||||
await manager.save(li2);
|
||||
|
||||
const claimWithFulfillment = manager.create(ClaimOrder, {
|
||||
id: "claim-w-f",
|
||||
type: "replace",
|
||||
payment_status: "na",
|
||||
fulfillment_status: "not_fulfilled",
|
||||
order_id: "order-with-claim",
|
||||
...data,
|
||||
});
|
||||
|
||||
const ful1 = manager.create(Fulfillment, {
|
||||
id: "fulfillment-co-1",
|
||||
data: {},
|
||||
provider_id: "test-ful",
|
||||
});
|
||||
|
||||
const ful2 = manager.create(Fulfillment, {
|
||||
id: "fulfillment-co-2",
|
||||
data: {},
|
||||
provider_id: "test-ful",
|
||||
});
|
||||
|
||||
claimWithFulfillment.fulfillments = [ful1, ful2];
|
||||
|
||||
await manager.save(claimWithFulfillment);
|
||||
|
||||
const claimWithReturn = manager.create(ClaimOrder, {
|
||||
id: "claim-w-r",
|
||||
type: "replace",
|
||||
payment_status: "na",
|
||||
fulfillment_status: "not_fulfilled",
|
||||
order_id: "order-with-claim",
|
||||
...data,
|
||||
});
|
||||
|
||||
await manager.save(claimWithReturn);
|
||||
|
||||
await manager.insert(Return, {
|
||||
id: "return-id-2",
|
||||
claim_order_id: "claim-w-r",
|
||||
status: "requested",
|
||||
refund_amount: 0,
|
||||
data: {},
|
||||
});
|
||||
};
|
||||
@@ -9,6 +9,7 @@ const {
|
||||
Product,
|
||||
ProductVariant,
|
||||
Region,
|
||||
Payment,
|
||||
Order,
|
||||
Swap,
|
||||
} = require("@medusajs/medusa");
|
||||
@@ -183,4 +184,140 @@ module.exports = async (connection, data = {}) => {
|
||||
price: 1000,
|
||||
data: {},
|
||||
});
|
||||
|
||||
const orderTemplate = () => {
|
||||
return {
|
||||
customer_id: "test-customer",
|
||||
email: "test@gmail.com",
|
||||
payment_status: "not_paid",
|
||||
fulfillment_status: "not_fulfilled",
|
||||
region_id: "test-region",
|
||||
currency_code: "usd",
|
||||
tax_rate: 0,
|
||||
...data,
|
||||
};
|
||||
};
|
||||
|
||||
const paymentTemplate = () => {
|
||||
return {
|
||||
amount: 10000,
|
||||
currency_code: "usd",
|
||||
provider_id: "test-pay",
|
||||
data: {},
|
||||
};
|
||||
};
|
||||
|
||||
const orderWithClaim = manager.create(Order, {
|
||||
id: "test-order-w-c",
|
||||
claims: [
|
||||
{
|
||||
type: "replace",
|
||||
id: "claim-1",
|
||||
payment_status: "na",
|
||||
fulfillment_status: "not_fulfilled",
|
||||
payment_provider: "test-pay",
|
||||
},
|
||||
],
|
||||
...orderTemplate(),
|
||||
});
|
||||
|
||||
await manager.save(orderWithClaim);
|
||||
|
||||
await manager.insert(Payment, {
|
||||
order_id: "test-order-w-c",
|
||||
id: "o-pay1",
|
||||
...paymentTemplate(),
|
||||
});
|
||||
|
||||
const orderWithSwap = manager.create(Order, {
|
||||
id: "test-order-w-s",
|
||||
...orderTemplate(),
|
||||
});
|
||||
|
||||
await manager.save(orderWithSwap);
|
||||
|
||||
await manager.insert(Payment, {
|
||||
order_id: "test-order-w-s",
|
||||
id: "o-pay2",
|
||||
...paymentTemplate(),
|
||||
});
|
||||
|
||||
const swap1 = manager.create(Swap, {
|
||||
id: "swap-1",
|
||||
order_id: "test-order-w-s",
|
||||
fulfillment_status: "not_fulfilled",
|
||||
payment_status: "not_paid",
|
||||
});
|
||||
|
||||
const pay1 = manager.create(Payment, {
|
||||
id: "pay1",
|
||||
...paymentTemplate(),
|
||||
});
|
||||
|
||||
swap1.payment = pay1;
|
||||
|
||||
const swap2 = manager.create(Swap, {
|
||||
id: "swap-2",
|
||||
order_id: "test-order-w-s",
|
||||
fulfillment_status: "not_fulfilled",
|
||||
payment_status: "not_paid",
|
||||
});
|
||||
|
||||
const pay2 = manager.create(Payment, {
|
||||
id: "pay2",
|
||||
...paymentTemplate(),
|
||||
});
|
||||
|
||||
swap2.payment = pay2;
|
||||
|
||||
await manager.save(swap1);
|
||||
await manager.save(swap2);
|
||||
|
||||
const orderWithFulfillment = manager.create(Order, {
|
||||
id: "test-order-w-f",
|
||||
fulfillments: [
|
||||
{
|
||||
id: "fulfillment-on-order-1",
|
||||
data: {},
|
||||
provider_id: "test-ful",
|
||||
},
|
||||
{
|
||||
id: "fulfillment-on-order-2",
|
||||
data: {},
|
||||
provider_id: "test-ful",
|
||||
},
|
||||
],
|
||||
...orderTemplate(),
|
||||
});
|
||||
|
||||
await manager.save(orderWithFulfillment);
|
||||
|
||||
await manager.insert(Payment, {
|
||||
order_id: "test-order-w-f",
|
||||
id: "o-pay3",
|
||||
...paymentTemplate(),
|
||||
});
|
||||
|
||||
const orderWithReturn = manager.create(Order, {
|
||||
id: "test-order-w-r",
|
||||
returns: [
|
||||
{
|
||||
id: "return-on-order-1",
|
||||
refund_amount: 0,
|
||||
},
|
||||
{
|
||||
id: "return-on-order-2",
|
||||
refund_amount: 0,
|
||||
},
|
||||
],
|
||||
...orderTemplate(),
|
||||
});
|
||||
|
||||
await manager.save(orderWithReturn);
|
||||
|
||||
await manager.insert(Payment, {
|
||||
order_id: "test-order-w-r",
|
||||
id: "o-pay4",
|
||||
...paymentTemplate(),
|
||||
});
|
||||
};
|
||||
|
||||
@@ -9,6 +9,7 @@ const {
|
||||
Product,
|
||||
ProductVariant,
|
||||
Region,
|
||||
Payment,
|
||||
Order,
|
||||
Swap,
|
||||
Cart,
|
||||
@@ -43,7 +44,7 @@ module.exports = async (connection, data = {}) => {
|
||||
amount: 10000,
|
||||
currency_code: "usd",
|
||||
amount_refunded: 0,
|
||||
provider_id: "test",
|
||||
provider_id: "test-pay",
|
||||
data: {},
|
||||
},
|
||||
],
|
||||
@@ -80,7 +81,7 @@ module.exports = async (connection, data = {}) => {
|
||||
amount: 10000,
|
||||
currency_code: "usd",
|
||||
amount_refunded: 0,
|
||||
provider_id: "test",
|
||||
provider_id: "test-pay",
|
||||
data: {},
|
||||
},
|
||||
additional_items: [
|
||||
@@ -100,6 +101,70 @@ module.exports = async (connection, data = {}) => {
|
||||
|
||||
await manager.save(swap);
|
||||
|
||||
const cartTemplate = async (cartId) => {
|
||||
const cart = manager.create(Cart, {
|
||||
id: cartId,
|
||||
customer_id: "test-customer",
|
||||
email: "test-customer@email.com",
|
||||
shipping_address_id: "test-shipping-address",
|
||||
billing_address_id: "test-billing-address",
|
||||
region_id: "test-region",
|
||||
type: "swap",
|
||||
metadata: {},
|
||||
...data,
|
||||
});
|
||||
|
||||
await manager.save(cart);
|
||||
};
|
||||
|
||||
const swapTemplate = async (cartId) => {
|
||||
await cartTemplate(cartId);
|
||||
return {
|
||||
order_id: orderWithSwap.id,
|
||||
fulfillment_status: "fulfilled",
|
||||
payment_status: "not_paid",
|
||||
cart_id: cartId,
|
||||
payment: {
|
||||
amount: 5000,
|
||||
currency_code: "usd",
|
||||
amount_refunded: 0,
|
||||
provider_id: "test-pay",
|
||||
data: {},
|
||||
},
|
||||
...data,
|
||||
};
|
||||
};
|
||||
|
||||
const swapWithFulfillments = manager.create(Swap, {
|
||||
id: "swap-w-f",
|
||||
fulfillments: [
|
||||
{
|
||||
id: "fulfillment-1",
|
||||
data: {},
|
||||
provider_id: "test-ful",
|
||||
},
|
||||
{
|
||||
id: "fulfillment-2",
|
||||
data: {},
|
||||
provider_id: "test-ful",
|
||||
},
|
||||
],
|
||||
...(await swapTemplate("sc-w-f")),
|
||||
});
|
||||
|
||||
await manager.save(swapWithFulfillments);
|
||||
|
||||
const swapWithReturn = manager.create(Swap, {
|
||||
id: "swap-w-r",
|
||||
return_order: {
|
||||
id: "return-id",
|
||||
status: "requested",
|
||||
refund_amount: 0,
|
||||
},
|
||||
...(await swapTemplate("sc-w-r")),
|
||||
});
|
||||
|
||||
await manager.save(swapWithReturn);
|
||||
const li = manager.create(LineItem, {
|
||||
id: "return-item-1",
|
||||
fulfilled_quantity: 1,
|
||||
@@ -175,7 +240,7 @@ module.exports = async (connection, data = {}) => {
|
||||
amount: 10000,
|
||||
currency_code: "usd",
|
||||
amount_refunded: 0,
|
||||
provider_id: "test",
|
||||
provider_id: "test-pay",
|
||||
data: {},
|
||||
},
|
||||
additional_items: [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const DB_USERNAME = process.env.DB_USERNAME || "postgres";
|
||||
const DB_PASSWORD = process.env.DB_PASSWORD || "";
|
||||
const DB_USERNAME = process.env.DB_USERNAME || "postgres"
|
||||
const DB_PASSWORD = process.env.DB_PASSWORD || ""
|
||||
|
||||
module.exports = {
|
||||
plugins: [],
|
||||
@@ -8,4 +8,4 @@ module.exports = {
|
||||
database_url: `postgres://${DB_USERNAME}:${DB_PASSWORD}@localhost/medusa-integration`,
|
||||
database_type: "postgres",
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
+460
-419
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user