Files
medusa-store/integration-tests/modules/medusa-config.js
Oli Juhl 92af52d133 fix(tax): Make system provider registration backward compatible (#12441)
* fix(tax): Make provider registration backward compatible

* add tests
2025-05-12 17:06:43 +02:00

145 lines
3.5 KiB
JavaScript

const { Modules } = require("@medusajs/utils")
const DB_HOST = process.env.DB_HOST
const DB_USERNAME = process.env.DB_USERNAME
const DB_PASSWORD = process.env.DB_PASSWORD
const DB_NAME = process.env.DB_TEMP_NAME
const DB_URL = `postgres://${DB_USERNAME}:${DB_PASSWORD}@${DB_HOST}/${DB_NAME}`
process.env.POSTGRES_URL = DB_URL
process.env.LOG_LEVEL = "error"
const enableMedusaV2 = process.env.MEDUSA_FF_MEDUSA_V2 == "true"
const customTaxProviderRegistration = {
resolve: {
services: [require("@medusajs/tax/dist/providers/system").default],
},
id: "system_2",
}
const customPaymentProvider = {
resolve: {
services: [require("@medusajs/payment/dist/providers/system").default],
},
id: "default_2",
}
const customFulfillmentProvider = {
resolve: "@medusajs/fulfillment-manual",
id: "test-provider",
}
const customFulfillmentProviderCalculated = {
resolve: require("./dist/utils/providers/fulfillment-manual-calculated")
.default,
id: "test-provider-calculated",
}
module.exports = {
admin: {
disable: true,
},
plugins: [],
projectConfig: {
databaseUrl: DB_URL,
databaseType: "postgres",
http: {
jwtSecret: "test",
cookieSecret: "test",
},
},
featureFlags: {
medusa_v2: enableMedusaV2,
},
modules: {
testingModule: {
resolve: "__tests__/__fixtures__/testing-module",
},
[Modules.AUTH]: {
resolve: "@medusajs/auth",
options: {
providers: [
{
id: "emailpass",
resolve: "@medusajs/auth-emailpass",
},
],
},
},
[Modules.USER]: {
scope: "internal",
resolve: "@medusajs/user",
options: {
jwt_secret: "test",
},
},
[Modules.CACHE]: {
resolve: "@medusajs/cache-inmemory",
options: { ttl: 0 }, // Cache disabled
},
[Modules.LOCKING]: true,
[Modules.STOCK_LOCATION]: {
resolve: "@medusajs/stock-location",
options: {},
},
[Modules.INVENTORY]: {
resolve: "@medusajs/inventory",
options: {},
},
[Modules.PRODUCT]: true,
[Modules.PRICING]: true,
[Modules.PROMOTION]: true,
[Modules.REGION]: true,
[Modules.CUSTOMER]: true,
[Modules.SALES_CHANNEL]: true,
[Modules.CART]: true,
[Modules.WORKFLOW_ENGINE]: true,
[Modules.API_KEY]: true,
[Modules.STORE]: true,
[Modules.TAX]: {
resolve: "@medusajs/tax",
options: {
providers: [customTaxProviderRegistration],
},
},
[Modules.CURRENCY]: true,
[Modules.ORDER]: true,
[Modules.PAYMENT]: {
resolve: "@medusajs/payment",
/** @type {import('@medusajs/payment').PaymentModuleOptions}*/
options: {
providers: [customPaymentProvider],
},
},
[Modules.FULFILLMENT]: {
/** @type {import('@medusajs/fulfillment').FulfillmentModuleOptions} */
options: {
providers: [
customFulfillmentProvider,
customFulfillmentProviderCalculated,
],
},
},
[Modules.NOTIFICATION]: {
/** @type {import('@medusajs/types').LocalNotificationServiceOptions} */
options: {
providers: [
{
resolve: "@medusajs/notification-local",
id: "local-notification-provider",
options: {
name: "Local Notification Provider",
channels: ["log", "email"],
},
},
],
},
},
[Modules.INDEX]: process.env.ENABLE_INDEX_MODULE
? {
resolve: "@medusajs/index",
}
: false,
},
}