// Factory de base pour générer des IDs et dates
class BaseFactory {
static generateId(prefix: string): string {
return `${prefix}-${cuid()}`;
}
static createDate(): Date {
return new Date();
}
}
// Factory pour créer des données de test
class OrderFactory {
static createValid(): OrderDTO {
return {
id: BaseFactory.generateId("order"),
status: "new",
items: [],
customerId: BaseFactory.generateId("customer"),
};
}
static createWithItems(): OrderDTO {
const orderId = BaseFactory.generateId("order");
return {
...this.createValid(),
id: orderId,
items: [
{
id: BaseFactory.generateId("item"),
orderId,
name: "Pizza",
price: { amount: 10, currency: "CHF" },
},
],
};
}
}