import { MockOrderItem } from '@daffodil/order/testing'
class MockOrderItem implements DaffOrderItem {
id: faker.datatype.uuid() = faker.datatype.uuid()
image: { url: any; id: any; label: any; } = {
url: faker.image.imageUrl(),
id: faker.datatype.uuid(),
label: faker.random.word(),
}
order_id: faker.datatype.uuid() = faker.datatype.uuid()
qty_ordered: faker.datatype.number({ min: 1, max: 1000 }) = faker.datatype.number({ min: 1, max: 1000 })
qty_canceled: faker.datatype.number({ min: 1, max: 1000 }) = faker.datatype.number({ min: 1, max: 1000 })
qty_fulfilled: faker.datatype.number({ min: 1, max: 1000 }) = faker.datatype.number({ min: 1, max: 1000 })
created_at: faker.date.past().toString() = faker.date.past().toString()
updated_at: faker.date.past().toString() = faker.date.past().toString()
product_id: faker.datatype.uuid() = faker.datatype.uuid()
parent_item_id: faker.datatype.uuid() = faker.datatype.uuid()
sku: faker.random.alphaNumeric(20) = faker.random.alphaNumeric(20)
name: faker.random.word() = faker.random.word()
weight: faker.datatype.number({ min: 1, max: 1000 }) = faker.datatype.number({ min: 1, max: 1000 })
qty: faker.datatype.number({ min: 1, max: 10 }) = faker.datatype.number({ min: 1, max: 10 })
price: faker.datatype.number({ min: 1, max: 1000 }) = faker.datatype.number({ min: 1, max: 1000 })
discount_amount: faker.datatype.number({ min: 1, max: this.price }) = faker.datatype.number({ min: 1, max: this.price })
discount_percent: number = Math.floor(this.discount_amount / this.price * 100)
tax_percent: faker.datatype.number({ min: 1, max: 10 }) = faker.datatype.number({ min: 1, max: 10 })
tax_amount: faker.datatype.number({ min: 1, max: 10 }) = faker.datatype.number({ min: 1, max: 10 })
row_total: number = this.price * this.qty
row_total_with_discount: number = (this.price - this.discount_amount) * this.qty
row_weight: faker.datatype.number({ min: 1, max: 100 }) = faker.datatype.number({ min: 1, max: 100 })
tax_before_discount: faker.datatype.number({ min: 1, max: 100 }) = faker.datatype.number({ min: 1, max: 100 })
type: DaffOrderItemType = DaffOrderItemType.Simple
}