indo-format
Version:
Utility functions for Indonesian-specific formatting: Rupiah, NIK, tanggal, dan terbilang.
34 lines (33 loc) • 1.89 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const vitest_1 = require("vitest");
const holiday_1 = require("./holiday");
(0, vitest_1.describe)('isHariLiburNasional', () => {
(0, vitest_1.it)('returns true for national holiday (non-cuti)', async () => {
const result = await (0, holiday_1.isHariLiburNasional)(new Date('2025-08-17'));
(0, vitest_1.expect)(result).toBe(true); // Hari Kemerdekaan
});
(0, vitest_1.it)('returns true for cuti bersama with type "cuti"', async () => {
const result = await (0, holiday_1.isHariLiburNasional)(new Date('2025-12-26'), 'cuti');
(0, vitest_1.expect)(result).toBe(true); // Cuti Bersama Natal
});
(0, vitest_1.it)('returns false for cuti bersama with type "libur"', async () => {
const result = await (0, holiday_1.isHariLiburNasional)(new Date('2025-12-26'), 'libur');
(0, vitest_1.expect)(result).toBe(false);
});
(0, vitest_1.it)('returns true for cuti bersama with type "semua"', async () => {
const result = await (0, holiday_1.isHariLiburNasional)(new Date('2025-12-26'), 'semua');
(0, vitest_1.expect)(result).toBe(true);
});
(0, vitest_1.it)('returns false for non-holiday date', async () => {
const result = await (0, holiday_1.isHariLiburNasional)(new Date('2025-08-18'));
(0, vitest_1.expect)(result).toBe(false);
});
(0, vitest_1.it)('returns false and logs warning for missing year', async () => {
const consoleSpy = vitest_1.vi.spyOn(console, 'warn').mockImplementation(() => { });
const result = await (0, holiday_1.isHariLiburNasional)(new Date('2099-01-01'));
(0, vitest_1.expect)(result).toBe(false);
(0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(vitest_1.expect.stringContaining('2099'));
consoleSpy.mockRestore();
});
});