mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-30 14:38:12 +00:00
add dispute functionality for contract duty and implement collection dates
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import { BadRequestException } from '@nestjs/common';
|
||||
|
||||
import { assertDoCollectionDates } from './contract-clearance.util';
|
||||
|
||||
describe('assertDoCollectionDates', () => {
|
||||
it('requires both dates', () => {
|
||||
expect(() => assertDoCollectionDates(undefined)).toThrow(BadRequestException);
|
||||
expect(() =>
|
||||
assertDoCollectionDates({ vesselArrivalDate: '2026-07-01' }),
|
||||
).toThrow(/DO collected date is required/);
|
||||
expect(() =>
|
||||
assertDoCollectionDates({ doCollectedDate: '2026-07-01' }),
|
||||
).toThrow(/Vessel arrival date is required/);
|
||||
// Whitespace is not a date.
|
||||
expect(() =>
|
||||
assertDoCollectionDates({ vesselArrivalDate: ' ', doCollectedDate: ' ' }),
|
||||
).toThrow(BadRequestException);
|
||||
});
|
||||
|
||||
it('rejects a DO collected before the vessel arrived', () => {
|
||||
expect(() =>
|
||||
assertDoCollectionDates({
|
||||
vesselArrivalDate: '2026-07-10',
|
||||
doCollectedDate: '2026-07-09',
|
||||
}),
|
||||
).toThrow(/cannot be earlier than the vessel arrival date/);
|
||||
});
|
||||
|
||||
it('normalizes an ISO datetime down to its date part', () => {
|
||||
expect(
|
||||
assertDoCollectionDates({
|
||||
vesselArrivalDate: '2026-07-10T21:00:00.000Z',
|
||||
doCollectedDate: '2026-07-10T05:00:00.000Z',
|
||||
}),
|
||||
).toEqual({ vesselArrivalDate: '2026-07-10', doCollectedDate: '2026-07-10' });
|
||||
});
|
||||
|
||||
it('rejects a malformed date', () => {
|
||||
expect(() =>
|
||||
assertDoCollectionDates({
|
||||
vesselArrivalDate: '10/07/2026',
|
||||
doCollectedDate: '2026-07-10',
|
||||
}),
|
||||
).toThrow(/not a valid date/);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user