Files
medusa-store/integration-tests/modules/helpers/create-authenticated-customer.ts
Adrien de Peretti 937a632eb6 chore: make module loaders DML aware and auto generate joiner config (#7781)
* chore: make module loaders DML aware and auto generate joiner config

* fixes and cleanup

* improve dml entity check

* add unit tests on load resources

* cleanup deps

* cleanup deps

* cleanup Modules

* finalise

* fix modules-sdk jest

* fix modules-sdk jest

* fix import

* fix import
2024-06-20 18:18:07 +02:00

46 lines
1.1 KiB
TypeScript

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 { http } = appContainer.resolve("configModule").projectConfig
const authService = appContainer.resolve(ModuleRegistrationName.AUTH)
const customerModuleService = appContainer.resolve(
ModuleRegistrationName.CUSTOMER
)
const customer = await customerModuleService.createCustomers({
first_name: "John",
last_name: "Doe",
email: "john@me.com",
...customerData,
})
const authIdentity = await authService.createAuthIdentities({
provider_identities: [
{
entity_id: "store_user",
provider: "emailpass",
},
],
app_metadata: {
customer_id: customer.id,
},
})
const token = jwt.sign(
{
actor_id: customer.id,
actor_type: "customer",
auth_identity_id: authIdentity.id,
},
http.jwtSecret
)
return { customer, authIdentity, jwt: token }
}