feat: Admin shipping options routes to Typescript (#891)

This commit is contained in:
Oliver Windall Juhl
2021-12-07 17:07:23 +01:00
committed by GitHub
parent 487356a96f
commit 6579c13111
13 changed files with 393 additions and 124 deletions

View File

@@ -383,4 +383,95 @@ describe("/admin/shipping-options", () => {
}
})
})
describe("GET /admin/shipping-options", () => {
beforeEach(async () => {
try {
await adminSeeder(dbConnection)
await shippingOptionSeeder(dbConnection)
} catch (err) {
console.error(err)
throw err
}
})
afterEach(async () => {
const db = useDb()
await db.teardown()
})
it("lists shipping options", async () => {
const api = useApi()
const res = await api.get(`/admin/shipping-options`, {
headers: {
Authorization: "Bearer test_token",
},
})
expect(res.status).toEqual(200)
})
it("lists admin only shipping options", async () => {
const api = useApi()
const res = await api.get(`/admin/shipping-options?admin_only=true`, {
headers: {
Authorization: "Bearer test_token",
},
})
expect(res.status).toEqual(200)
expect(res.data.shipping_options).toEqual(
expect.arrayContaining([
expect.objectContaining({
id: "test-option-req-admin-only",
admin_only: true,
}),
])
)
})
it("lists return shipping options", async () => {
const api = useApi()
const res = await api.get(`/admin/shipping-options?is_return=true`, {
headers: {
Authorization: "Bearer test_token",
},
})
expect(res.status).toEqual(200)
expect(res.data.shipping_options).toEqual(
expect.arrayContaining([
expect.objectContaining({
id: "test-option-req-return",
is_return: true,
}),
])
)
})
it("lists shipping options without return and admin options", async () => {
const api = useApi()
const res = await api.get(
`/admin/shipping-options?is_return=false&admin_only=true`,
{
headers: {
Authorization: "Bearer test_token",
},
}
)
expect(res.status).toEqual(200)
expect(res.data.shipping_options).not.toEqual(
expect.arrayContaining([
expect.objectContaining({
id: "test-option-req-return",
is_return: true,
}),
expect.objectContaining({
id: "test-option-req-admin-only",
admin_only: true,
}),
])
)
})
})
})