All files / src/database/seeds/mdm units-of-measure.seed.ts

0% Statements 0/8
0% Branches 0/4
0% Functions 0/2
0% Lines 0/6

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                                                                                                         
import { Injectable } from '@nestjs/common';
import { UnitOfMeasureService } from '../../../domains/mdm/application/services/unit-of-measure.service';
 
@Injectable()
export class UnitsOfMeasureSeed {
  constructor(private readonly uomService: UnitOfMeasureService) {}
 
  async seed(): Promise<void> {
    await this.uomService.bulkUpsertCategories([
      { categoryCode: 'COUNT', categoryName: 'Count / Quantity', active: true },
      { categoryCode: 'TIME', categoryName: 'Time / Duration', active: true },
      { categoryCode: 'MASS', categoryName: 'Mass / Weight', active: true },
    ]);
 
    await this.uomService.bulkUpsertUnits([
      {
        unitCode: 'PCS',
        unitName: 'Pieces',
        unitSymbol: 'pcs',
        categoryCode: 'COUNT',
        isBaseUnit: true,
        active: true,
      },
      {
        unitCode: 'BOX',
        unitName: 'Box',
        unitSymbol: 'box',
        categoryCode: 'COUNT',
        isBaseUnit: false,
        conversionFactor: '10', // 1 box = 10 pcs
        active: true,
      },
      {
        unitCode: 'HR',
        unitName: 'Hours',
        unitSymbol: 'hrs',
        categoryCode: 'TIME',
        isBaseUnit: true,
        active: true,
      },
      {
        unitCode: 'DAY',
        unitName: 'Days',
        unitSymbol: 'days',
        categoryCode: 'TIME',
        isBaseUnit: false,
        conversionFactor: '8', // 1 day = 8 standard hours
        active: true,
      },
    ]);
  }
}