import { buildUnitDetailTracks } from './unit-detail.transformer';
import { assemblyTransformerFixtures } from '@test-fixtures/monitoring/assembly/scenario.fixture';

describe('buildUnitDetailTracks', () => {
  it('groups rows, parses steps, and normalizes fields', () => {
    const rows = assemblyTransformerFixtures.unitDetailRows;

    const result = buildUnitDetailTracks(rows);

    expect(result).toHaveLength(
      assemblyTransformerFixtures.unitDetailExpectedTrackCount,
    );
    expect(result[0]).toMatchObject(
      assemblyTransformerFixtures.unitDetailExpectedTrack0,
    );

    expect(result[0].steps).toHaveLength(
      assemblyTransformerFixtures.unitDetailExpectedTrack0StepCount,
    );
    expect(result[0].steps[0]).toMatchObject(
      assemblyTransformerFixtures.unitDetailExpectedTrack0Step0,
    );
    expect(result[0].steps[1]).toMatchObject(
      assemblyTransformerFixtures.unitDetailExpectedTrack0Step1,
    );
    expect(result[0].steps[2]).toMatchObject(
      assemblyTransformerFixtures.unitDetailExpectedTrack0Step2,
    );

    expect(result[1]).toMatchObject(
      assemblyTransformerFixtures.unitDetailExpectedTrack1,
    );
    expect(result[1].steps[0]).toMatchObject(
      assemblyTransformerFixtures.unitDetailExpectedTrack1Step0,
    );
  });
});
