Skip to content

Commit

Permalink
feat(cb2-16021): further tests for coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
cb-cs committed Feb 6, 2025
1 parent 43ccb71 commit 86c8c5b
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 2 deletions.
2 changes: 2 additions & 0 deletions src/app/databaseService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,8 @@ export {
getEvlFeedByVrm,
getEvlFeedByVrmDetails,
getFeed,
getLastTFLFileDate,
getLastAntsFileData
};

interface VehicleQueryResult extends RowDataPacket {
Expand Down
72 changes: 70 additions & 2 deletions tests/unit/app/databaseService.test.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
import { FieldPacket, RowDataPacket } from 'mysql2/promise';
import {
getTestResultsByVin,
getFeed,
getLastAntsFileData,
getLastTFLFileDate,
getTestResultsByTestId,
getTestResultsByVin,
getTestResultsByVrm,
getVehicleDetailsByTrailerId,
getVehicleDetailsByVin,
getVehicleDetailsByVrm,
getVehicleDetailsByVrm
} from '../../../src/app/databaseService';
import * as technicalQueries from '../../../src/app/queries/technicalRecord';
import * as testQueries from '../../../src/app/queries/testResults';
import { QueryOutput } from '../../../src/interfaces/DatabaseService';
import * as s3BucketService from '../../../src/infrastructure/s3BucketService';
import { TFL_QUERY } from "../../../src/app/queries/tflQuery";
import { ANTS_QUERY } from "../../../src/app/queries/antsQuery";
import { FeedName } from "../../../src/interfaces/FeedTypes";

describe('Database Service', () => {
describe('Get vehicle details', () => {
Expand Down Expand Up @@ -368,4 +375,65 @@ describe('Database Service', () => {
expect(response[0].defects?.[1].defect?.imDescription).toEqual('Test defect 2');
});
});

describe('get TFL Data', () => {
it('correctly retrieves the last ANTS file date', async () => {
const mockReadAndUpsert = jest.spyOn(s3BucketService, 'readAndUpsert').mockResolvedValue('2025-10-01T12:00:00Z');
const result = await getLastTFLFileDate();

expect(mockReadAndUpsert).toHaveBeenCalledWith(
'TFL_LATEST_VALID_FROM_DATE.txt',
expect.any(String),
expect.any(String),
);
expect(result).toEqual('1/10/2025 12:0:0');
});
});

describe('get ANTS Data', () => {
it('correctly retrieves the last ANTS file date', async () => {
const mockReadAndUpsert = jest.spyOn(s3BucketService, 'readAndUpsert').mockResolvedValue('2025-10-01T12:00:00Z');
const result = await getLastAntsFileData();

expect(mockReadAndUpsert).toHaveBeenCalledWith(
'ANTS_LATEST_VALID_FROM_DATE.txt',
expect.any(String),
expect.any(String),
);
expect(result).toEqual('1/10/2025 12:0:0');
});
});

describe('get Feed', () => {
it('correctly retrieves TFL feed data', async () => {
const mockDbService = {
get: jest.fn<Promise<[RowDataPacket[], FieldPacket[]]>, [query: string, params: string[]]>()
.mockResolvedValueOnce([[
{ tflData: 'TFL123' } as RowDataPacket], []]),
};

jest.spyOn(s3BucketService, 'readAndUpsert').mockResolvedValue('2025-10-01T12:00:00Z');

const result = await getFeed(mockDbService, FeedName.TFL);

expect(mockDbService.get).toHaveBeenCalledWith(TFL_QUERY, ['1/10/2025 12:0:0']);
expect(result).toHaveLength(1);
console.log(result);
});

it('correctly retrieves ANTS feed data', async () => {
const mockDbService = {
get: jest.fn<Promise<[RowDataPacket[], FieldPacket[]]>, [query: string, params: string[]]>()
.mockResolvedValueOnce([[{ antsData: 'ANTS123' } as RowDataPacket], []]),
};

jest.spyOn(s3BucketService, 'readAndUpsert').mockResolvedValue('2025-10-01T12:00:00Z');

const result = await getFeed(mockDbService, FeedName.ANTS);

expect(mockDbService.get).toHaveBeenCalledWith(ANTS_QUERY, ['1/10/2025 12:0:0']);
expect(result).toHaveLength(1);
console.log(result);
});
});
});

0 comments on commit 86c8c5b

Please sign in to comment.