import type { AssemblyMonitoringUnitDetailDbDto } from 'src/api/monitoring/cp/assembly/dto/internal/unit-detail.db.dto';

export const createUnitDetailRow = (
  overrides: Partial<AssemblyMonitoringUnitDetailDbDto> = {},
): AssemblyMonitoringUnitDetailDbDto => ({
  ProdPlanSeq: 100,
  ProdPlanNo: 'PLAN100',
  ModelSeq: 200,
  SerialNo: 'S001',
  ModelName: 'Model-A',
  RowBlock: 1,
  Proc1: null,
  Work1: null,
  Proc2: null,
  Work2: null,
  Proc3: null,
  Work3: null,
  Proc4: null,
  Work4: null,
  Proc5: null,
  Work5: null,
  ...overrides,
});

export const unitDetailFixtures = {
  rows: [
    createUnitDetailRow({
      ProdPlanSeq: 100,
      ProdPlanNo: 'PLAN100',
      ModelSeq: 200,
      SerialNo: 'S001',
      ModelName: 'Model-A',
      RowBlock: 1,
      Proc1: ' STEP1 ',
      Work1: '완료 / 1시간 20분(20250101)',
      Proc2: 'STEP2',
      Work2: '미완 / 40분',
      Proc3: null,
      Work3: null,
      Proc4: null,
      Work4: null,
      Proc5: null,
      Work5: null,
    }),
    createUnitDetailRow({
      ProdPlanSeq: 100,
      ProdPlanNo: 'PLAN100',
      ModelSeq: 200,
      SerialNo: 'S001',
      ModelName: 'Model-A',
      RowBlock: 2,
      Proc1: 'STEP3',
      Work1: '완성 / 2시간(20250102)',
      Proc2: null,
      Work2: null,
      Proc3: null,
      Work3: null,
      Proc4: null,
      Work4: null,
      Proc5: null,
      Work5: null,
    }),
    createUnitDetailRow({
      ProdPlanSeq: 101,
      ProdPlanNo: 'PLAN101',
      ModelSeq: 201,
      SerialNo: 'S002',
      ModelName: 'Model-B',
      RowBlock: 1,
      Proc1: 'STEPX',
      Work1: '진행 / 30분',
      Proc2: null,
      Work2: null,
      Proc3: null,
      Work3: null,
      Proc4: null,
      Work4: null,
      Proc5: null,
      Work5: null,
    }),
  ],
  multiTrackRows: [
    createUnitDetailRow({
      ProdPlanSeq: 1,
      ProdPlanNo: 'PLAN1',
      ModelSeq: 10,
      SerialNo: 'S001',
      ModelName: 'Model-A',
      RowBlock: 1,
    }),
    createUnitDetailRow({
      ProdPlanSeq: 2,
      ProdPlanNo: 'PLAN2',
      ModelSeq: 11,
      SerialNo: 'S002',
      ModelName: 'Model-B',
      RowBlock: 1,
    }),
  ],
};
