fix(medusa): Delete ProductOption on Product without Variants (#1846)
**What** Solves admin issue [166](https://github.com/medusajs/admin/issues/166) Deleting a product option on a product without variants currently throws, because we are cleaning up variant options as well. **How** Only do variant clean up, if product has variants
This commit is contained in:
committed by
GitHub
parent
37056b8066
commit
d14a0398fb
@@ -12,6 +12,7 @@ const {
|
||||
MoneyAmount,
|
||||
} = require("@medusajs/medusa")
|
||||
const priceListSeeder = require("../../helpers/price-list-seeder")
|
||||
const { simpleProductFactory } = require("../../factories")
|
||||
|
||||
jest.setTimeout(50000)
|
||||
|
||||
@@ -1433,6 +1434,58 @@ describe("/admin/products", () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe("DELETE /admin/products/:id/options/:option_id", () => {
|
||||
beforeEach(async () => {
|
||||
try {
|
||||
await simpleProductFactory(dbConnection, {
|
||||
id: "test-product-without-variants",
|
||||
variants: [],
|
||||
options: [
|
||||
{
|
||||
id: "test-product-option",
|
||||
title: "Test option",
|
||||
},
|
||||
],
|
||||
})
|
||||
await adminSeeder(dbConnection)
|
||||
} catch (err) {
|
||||
console.log(err)
|
||||
throw err
|
||||
}
|
||||
})
|
||||
|
||||
afterEach(async () => {
|
||||
const db = useDb()
|
||||
await db.teardown()
|
||||
})
|
||||
|
||||
it("deletes a product option", async () => {
|
||||
const api = useApi()
|
||||
|
||||
const response = await api
|
||||
.delete(
|
||||
"/admin/products/test-product-without-variants/options/test-product-option",
|
||||
{
|
||||
headers: {
|
||||
Authorization: "Bearer test_token",
|
||||
},
|
||||
}
|
||||
)
|
||||
.catch((err) => {
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
expect(response.status).toEqual(200)
|
||||
expect(response.data.product).toEqual(
|
||||
expect.objectContaining({
|
||||
options: [],
|
||||
id: "test-product-without-variants",
|
||||
variants: [],
|
||||
})
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
describe("GET /admin/products/:id/variants", () => {
|
||||
beforeEach(async () => {
|
||||
await productSeeder(dbConnection)
|
||||
|
||||
Reference in New Issue
Block a user