Signed-off-by: Fredrik Adelöw <freben@gmail.com>
This commit is contained in:
Fredrik Adelöw
2023-06-16 12:18:46 +02:00
parent a5c5491ff5
commit ba05018003
+35 -1
View File
@@ -14,7 +14,7 @@
* limitations under the License.
*/
import { HumanDuration } from './time';
import { HumanDuration, durationToMilliseconds } from './time';
import { Duration } from 'luxon';
describe('time', () => {
@@ -33,4 +33,38 @@ describe('time', () => {
expect(Duration.fromObject(d).toObject()).toEqual(d);
});
});
describe('durationToMilliseconds', () => {
it('converts a compound duration to milliseconds', () => {
const duration: HumanDuration = {
years: 1,
months: 1,
weeks: 1,
days: 1,
hours: 1,
minutes: 1,
seconds: 1,
milliseconds: 1,
};
expect(durationToMilliseconds(duration)).toBe(
((((365 + 30 + 7 + 1) * 24 + 1) * 60 + 1) * 60 + 1) * 1000 + 1,
);
});
const durations: HumanDuration[] = [
{ years: 1 },
{ months: 1 },
{ weeks: 1 },
{ days: 1 },
{ hours: 1 },
{ minutes: 1 },
{ seconds: 1 },
{ milliseconds: 1 },
];
it.each(durations)('computes milliseconds like luxon does, %p', d => {
expect(Duration.fromObject(d).as('milliseconds')).toEqual(
durationToMilliseconds(d),
);
});
});
});