chore: V2 core loader + modules integration-tests (#6544)
This commit is contained in:
25
integration-tests/modules/helpers/create-admin-user.ts
Normal file
25
integration-tests/modules/helpers/create-admin-user.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { ModuleRegistrationName } from "@medusajs/modules-sdk"
|
||||
import { IAuthModuleService } from "@medusajs/types"
|
||||
import jwt from "jsonwebtoken"
|
||||
import { getContainer } from "../../environment-helpers/use-container"
|
||||
import adminSeeder from "../../helpers/admin-seeder"
|
||||
|
||||
export const createAdminUser = async (dbConnection, adminHeaders) => {
|
||||
await adminSeeder(dbConnection)
|
||||
const appContainer = getContainer()!
|
||||
|
||||
const authModule: IAuthModuleService = appContainer.resolve(
|
||||
ModuleRegistrationName.AUTH
|
||||
)
|
||||
const authUser = await authModule.create({
|
||||
provider: "emailpass",
|
||||
entity_id: "admin@medusa.js",
|
||||
scope: "admin",
|
||||
app_metadata: {
|
||||
user_id: "admin_user",
|
||||
},
|
||||
})
|
||||
|
||||
const token = jwt.sign(authUser, "test")
|
||||
adminHeaders.headers["authorization"] = `Bearer ${token}`
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
import { CreateCustomerDTO, MedusaContainer } from "@medusajs/types"
|
||||
|
||||
import { ModuleRegistrationName } from "@medusajs/modules-sdk"
|
||||
import jwt from "jsonwebtoken"
|
||||
|
||||
export const createAuthenticatedCustomer = async (
|
||||
appContainer: MedusaContainer,
|
||||
customerData: Partial<CreateCustomerDTO> = {}
|
||||
) => {
|
||||
const { jwt_secret } = appContainer.resolve("configModule").projectConfig
|
||||
const authService = appContainer.resolve(ModuleRegistrationName.AUTH)
|
||||
const customerModuleService = appContainer.resolve(
|
||||
ModuleRegistrationName.CUSTOMER
|
||||
)
|
||||
|
||||
const customer = await customerModuleService.create({
|
||||
first_name: "John",
|
||||
last_name: "Doe",
|
||||
email: "john@me.com",
|
||||
...customerData,
|
||||
})
|
||||
|
||||
const authUser = await authService.create({
|
||||
entity_id: "store_user",
|
||||
provider: "emailpass",
|
||||
scope: "store",
|
||||
app_metadata: { customer_id: customer.id },
|
||||
})
|
||||
|
||||
const token = jwt.sign(authUser, jwt_secret)
|
||||
|
||||
return { customer, authUser, jwt: token }
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import { IPricingModuleService } from "@medusajs/types"
|
||||
|
||||
export const createDefaultRuleTypes = async (container) => {
|
||||
const pricingModuleService: IPricingModuleService = container.resolve(
|
||||
"pricingModuleService"
|
||||
)
|
||||
|
||||
return pricingModuleService.createRuleTypes([
|
||||
{
|
||||
name: "region_id",
|
||||
rule_attribute: "region_id",
|
||||
},
|
||||
{
|
||||
name: "customer_group_id",
|
||||
rule_attribute: "customer_group_id",
|
||||
},
|
||||
])
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
import { MedusaContainer } from "@medusajs/modules-sdk"
|
||||
import {
|
||||
CreatePriceSetDTO,
|
||||
IPricingModuleService,
|
||||
PriceSetDTO,
|
||||
} from "@medusajs/types"
|
||||
|
||||
const defaultPrices = [
|
||||
{
|
||||
amount: 3000,
|
||||
currency_code: "usd",
|
||||
},
|
||||
]
|
||||
|
||||
const defaultPriceSetRules = [{ rule_attribute: "region_id" }]
|
||||
|
||||
export const createVariantPriceSet = async ({
|
||||
container,
|
||||
variantId,
|
||||
prices = defaultPrices,
|
||||
rules = defaultPriceSetRules,
|
||||
}: {
|
||||
container: MedusaContainer
|
||||
variantId: string
|
||||
prices?: CreatePriceSetDTO["prices"]
|
||||
rules?: CreatePriceSetDTO["rules"]
|
||||
}): Promise<PriceSetDTO> => {
|
||||
const remoteLink = container.resolve("remoteLink")
|
||||
const pricingModuleService: IPricingModuleService = container.resolve(
|
||||
"pricingModuleService"
|
||||
)
|
||||
|
||||
const priceSet = await pricingModuleService.create({
|
||||
rules,
|
||||
prices,
|
||||
})
|
||||
|
||||
await remoteLink.create({
|
||||
productService: {
|
||||
variant_id: variantId,
|
||||
},
|
||||
pricingService: {
|
||||
price_set_id: priceSet.id,
|
||||
},
|
||||
})
|
||||
|
||||
return await pricingModuleService.retrieve(priceSet.id, {
|
||||
relations: ["money_amounts"],
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user