import { describe, it } from "vitest" import { REPORT_REASONS } from "panoramax-js" import Translations from "../../src/UI/i18n/Translations" import { OH, OpeningRange } from "../../src/UI/OpeningHours/OpeningHours" import { expect } from "chai" describe("OH", () => { describe("getRanges", () => { process.env.TZ = "UTC" it("standard opening hours", () => { const oh_obj = OH.createOhObject( { opening_hours: "10:00-18:00", _lat: 0, _lon: 0, _country: "be", }, "10:00-18:00", "be" ) const ranges = OH.getRanges( oh_obj, new Date("2025-06-10T00:00:00Z"), new Date("2025-06-11T00:00:00Z") ) // Deep equal compares the dates correctly expect(ranges[1]).to.deep.equal([ { comment: undefined, endDate: new Date("2025-06-10T18:00:00.000Z"), isOpen: true, isSpecial: false, openEnd: false, startDate: new Date("2025-06-10T10:00:00.000Z"), }, ]) }) it("open ended opening hours", () => { process.env.TZ = "UTC" const oh_obj = OH.createOhObject( { opening_hours: "10:00-18:00+", _lat: 0, _lon: 0, _country: "be", }, "10:00+", "be" ) const ranges = OH.getRanges( oh_obj, new Date("2025-06-09T00:00:00Z"), new Date("2025-06-16T00:00:00Z") ) // Deep equal compares the dates correctly expect(ranges[1]).to.deep.equal([ { comment: undefined, endDate: new Date("2025-06-10T13:00:00.000Z"), isOpen: false, isSpecial: true, openEnd: true, startDate: new Date("2025-06-10T10:00:00.000Z"), }, ]) expect(ranges.at(-1)).to.deep.equal([ { comment: undefined, endDate: new Date("2025-06-15T13:00:00.000Z"), isOpen: false, isSpecial: true, openEnd: true, startDate: new Date("2025-06-15T10:00:00.000Z"), }, ]) }) }) })