Files
medusa-store/integration-tests/factories/simple-store-factory.ts
Adrien de Peretti 4d326fbbdf chore: Move factories and helpers to a better place (#4551)
* chore: Move factories and helpers to a better place

* align factory product variant

* fix factory cart

* add simple store fac

* fix tests

* fix tests

* fix

* fix cart seeder
2023-07-20 13:16:04 +02:00

43 lines
963 B
TypeScript

import { SalesChannel, Store } from "@medusajs/medusa"
import faker from "faker"
import { DataSource, IsNull, Not } from "typeorm"
export type StoreFactoryData = {
swap_link_template?: string
}
export const simpleStoreFactory = async (
dataSource: DataSource,
data: StoreFactoryData = {},
seed?: number
): Promise<Store | undefined> => {
if (typeof seed !== "undefined") {
faker.seed(seed)
}
const manager = dataSource.manager
const stores = await manager.find(Store, { where: { id: Not(IsNull()) } })
const store = stores[0]
if (!store) {
return
}
store.swap_link_template = data.swap_link_template ?? "something/{cart_id}"
await manager.insert(SalesChannel, {
id: "test-channel",
name: "Default",
})
const storeToSave = await manager.save(store)
await manager.query(
`update store set default_sales_channel_id = 'test-channel' where id = '${
storeToSave!.id
}'`
)
return storeToSave!
}