GitHub

MockMagentoConfigurableCartItem

Mock

import { MockMagentoConfigurableCartItem } from '@daffodil/cart/driver/magento/testing'

class MockMagentoConfigurableCartItem extends MockMagentoCartItem implements MagentoConfigurableCartItem {
  __typename: MagentoCartItemTypeEnum = MagentoCartItemTypeEnum.Configurable
  configurable_options: { option_label: string; value_label: string; }[] = [
      {
        option_label: 'Color',
        value_label: 'Red',
      },
      {
        option_label: 'Size',
        value_label: 'M',
      },
    ]
  id: faker.string.uuid() = faker.string.uuid()
  prices: { __typename: string; price: MagentoMoney; row_total: MagentoMoney; discounts: MagentoDiscount[]; } = {
      __typename: 'CartItemPrices',
      price: this.money(),
      row_total: this.money(),
      discounts: this.discounts(faker.number.int({ min: 0, max: 2 })),
    }
  product: MagentoCartItemProduct = this.createProduct()
  quantity: faker.number.int({ min: 1, max: 20 }) = faker.number.int({ min: 1, max: 20 })
}