All files / examples/order-more/entities line-item.ts

100% Statements 17/17
100% Branches 0/0
100% Functions 2/2
100% Lines 17/17

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67        1x   1x                                                             47x 47x 47x 47x 47x 47x 47x 47x 47x 47x 47x 47x 47x             10x       1x            
import { ProductVariant } from './product-variant';
import { Order } from './order';
import { IEntity, ICollection, IColumns } from '../../../src/index';
 
export const tableName: string = 'line_item';
 
export const columns: IColumns = [
  'id',
  { column: 'product_variant_id', references: ProductVariant },
  { column: 'order_id', references: Order },
  'fulfillment_status_id',
  'fulfillable_quantity',
  'fulfillment_service',
  'grams',
  'price',
  'quantity',
  'requires_shipping',
  'taxable',
  'total_discount'
];
 
export class LineItem implements IEntity {
  id: number;
  productVariantId: number;
  productVariant?: ProductVariant;
  orderId: number;
  order?: Order;
  fulfillmentStatusId: number;
  fulfillableQuantity: number;
  fulfillmentService: string;
  grams: string;
  price: number;
  quantity: number;
  requiresShipping: boolean;
  totalDiscount: number;
 
  constructor(props: any) {
    this.id = props.id;
    this.productVariantId = props.productVariantId;
    this.productVariant = props.productVariant;
    this.orderId = props.orderId;
    this.order = props.order;
    this.fulfillmentStatusId = props.fulfillmentStatusId;
    this.fulfillableQuantity = props.fulfillableQuanity;
    this.fulfillmentService = props.fulfillmentService;
    this.grams = props.grams;
    this.price = props.price;
    this.quantity = props.quanity;
    this.requiresShipping = props.requiresShipping;
    this.totalDiscount = props.totalDiscount;
  }
}
 
export class LineItems implements ICollection<LineItem> {
  models: Array<LineItem>;
  constructor({ models }: any) {
    this.models = models;
  }
}
 
export const lineItemConfiguration = {
  tableName,
  columns,
  entityClass: LineItem,
  collectionClass: LineItems,
}