feat(medusa,dashboard,tax): added tax rates and regions UI (#7026)

whats missing:

- make rules required for overrides
- conditions for other rules
- populating condition reference ids with labels on update

Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
This commit is contained in:
Riqwan Thamir
2024-04-16 08:26:12 +00:00
committed by GitHub
co-authored by Adrien de Peretti
parent 92b633d1cb
commit 00e6b21bb5
77 changed files with 3654 additions and 104 deletions
@@ -1,8 +1,8 @@
import { ITaxModuleService } from "@medusajs/types"
import { ModuleRegistrationName } from "@medusajs/modules-sdk"
import { ITaxModuleService } from "@medusajs/types"
import { createAdminUser } from "../../../../helpers/create-admin-user"
import { medusaIntegrationTestRunner } from "medusa-test-utils"
import { createAdminUser } from "../../../../helpers/create-admin-user"
jest.setTimeout(50000)
@@ -58,6 +58,8 @@ medusaIntegrationTestRunner({
updated_at: expect.any(String),
deleted_at: null,
created_by: null,
rules: [],
tax_region: expect.any(Object),
},
})
})
@@ -91,6 +93,9 @@ medusaIntegrationTestRunner({
created_by: "admin_user",
provider_id: null,
metadata: null,
children: [],
parent: null,
tax_rates: expect.any(Array),
},
})
@@ -121,6 +126,13 @@ medusaIntegrationTestRunner({
deleted_at: null,
created_by: "admin_user",
is_combinable: false,
tax_region: expect.any(Object),
rules: [
expect.objectContaining({
reference: "product",
reference_id: "prod_1234",
}),
],
},
})
@@ -147,6 +159,11 @@ medusaIntegrationTestRunner({
created_by: "admin_user",
metadata: null,
provider_id: null,
children: [],
tax_rates: [],
parent: expect.objectContaining({
id: usRegionId,
}),
},
})
@@ -219,6 +236,9 @@ medusaIntegrationTestRunner({
created_by: "admin_user",
provider_id: null,
metadata: null,
children: [],
parent: null,
tax_rates: expect.any(Array),
},
})
@@ -249,6 +269,13 @@ medusaIntegrationTestRunner({
deleted_at: null,
created_by: "admin_user",
is_combinable: false,
tax_region: expect.any(Object),
rules: [
expect.objectContaining({
reference: "product",
reference_id: "prod_1234",
}),
],
},
})
@@ -279,6 +306,13 @@ medusaIntegrationTestRunner({
updated_at: expect.any(String),
created_by: "admin_user",
is_combinable: true,
tax_region: expect.any(Object),
rules: [
expect.objectContaining({
reference: "product",
reference_id: "prod_1234",
}),
],
},
})
})
@@ -331,6 +365,43 @@ medusaIntegrationTestRunner({
expect(rates[0].deleted_at).not.toBeNull()
})
it("can retrieve a tax region", async () => {
const region = await service.createTaxRegions({
country_code: "us",
})
const rate = await service.create({
tax_region_id: region.id,
code: "test",
rate: 2.5,
name: "Test Rate",
})
const response = await api.get(
`/admin/tax-regions/${region.id}`,
adminHeaders
)
expect(response.status).toEqual(200)
expect(response.data).toEqual({
tax_region: {
id: region.id,
country_code: "us",
province_code: null,
parent_id: null,
provider_id: null,
created_by: null,
created_at: expect.any(String),
updated_at: expect.any(String),
tax_rates: expect.any(Array),
deleted_at: null,
metadata: null,
children: [],
parent: null,
},
})
})
it("can create a tax region and delete it", async () => {
const regionRes = await api.post(
`/admin/tax-regions`,