fix core tests
This commit is contained in:
@@ -133,25 +133,42 @@ describe('FileProtestUseCase', () => {
|
||||
|
||||
expect(result.isOk()).toBe(true);
|
||||
expect(result.unwrap()).toBeUndefined();
|
||||
expect(mockProtestRepo.create).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
raceId: 'race1',
|
||||
protestingDriverId: 'driver1',
|
||||
accusedDriverId: 'driver2',
|
||||
incident: { lap: 5, description: 'Collision' },
|
||||
comment: 'Test comment',
|
||||
proofVideoUrl: 'http://example.com/video',
|
||||
status: 'pending',
|
||||
})
|
||||
);
|
||||
expect(mockProtestRepo.create).toHaveBeenCalledTimes(1);
|
||||
const created = (mockProtestRepo.create as unknown as Mock).mock.calls[0]?.[0] as unknown as {
|
||||
raceId: { toString(): string };
|
||||
protestingDriverId: { toString(): string };
|
||||
accusedDriverId: { toString(): string };
|
||||
comment?: string;
|
||||
proofVideoUrl: { toString(): string };
|
||||
status: { toString(): string };
|
||||
incident: {
|
||||
lap: { toNumber(): number };
|
||||
description: { toString(): string };
|
||||
timeInRace?: unknown;
|
||||
};
|
||||
};
|
||||
|
||||
expect(created.raceId.toString()).toBe('race1');
|
||||
expect(created.protestingDriverId.toString()).toBe('driver1');
|
||||
expect(created.accusedDriverId.toString()).toBe('driver2');
|
||||
expect(created.comment).toBe('Test comment');
|
||||
expect(created.proofVideoUrl.toString()).toBe('http://example.com/video');
|
||||
expect(created.status.toString()).toBe('pending');
|
||||
|
||||
expect(created.incident.lap.toNumber()).toBe(5);
|
||||
expect(created.incident.description.toString()).toBe('Collision');
|
||||
expect(created.incident.timeInRace).toBeUndefined();
|
||||
|
||||
expect(output.present).toHaveBeenCalledTimes(1);
|
||||
const presented = (output.present as unknown as Mock).mock.calls[0]?.[0] as FileProtestResult;
|
||||
expect(presented.protest.raceId).toBe('race1');
|
||||
expect(presented.protest.protestingDriverId).toBe('driver1');
|
||||
expect(presented.protest.accusedDriverId).toBe('driver2');
|
||||
expect(presented.protest.incident).toEqual({ lap: 5, description: 'Collision', timeInRace: undefined });
|
||||
expect(presented.protest.raceId.toString()).toBe('race1');
|
||||
expect(presented.protest.protestingDriverId.toString()).toBe('driver1');
|
||||
expect(presented.protest.accusedDriverId.toString()).toBe('driver2');
|
||||
expect(presented.protest.incident.lap.toNumber()).toBe(5);
|
||||
expect(presented.protest.incident.description.toString()).toBe('Collision');
|
||||
expect(presented.protest.incident.timeInRace).toBeUndefined();
|
||||
expect(presented.protest.comment).toBe('Test comment');
|
||||
expect(presented.protest.proofVideoUrl).toBe('http://example.com/video');
|
||||
expect(presented.protest.proofVideoUrl).toBeDefined();
|
||||
expect(presented.protest.proofVideoUrl!.toString()).toBe('http://example.com/video');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user