| 
									
										
										
										
											2025-06-12 14:32:22 +02:00
										 |  |  | 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", () => { | 
					
						
							| 
									
										
										
										
											2025-06-18 21:40:01 +02:00
										 |  |  |         process.env.TZ = "UTC" | 
					
						
							| 
									
										
										
										
											2025-06-12 14:32:22 +02:00
										 |  |  |         it("standard opening hours", () => { | 
					
						
							| 
									
										
										
										
											2025-06-18 21:40:01 +02:00
										 |  |  |             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") | 
					
						
							|  |  |  |             ) | 
					
						
							| 
									
										
										
										
											2025-06-12 14:32:22 +02:00
										 |  |  |             // Deep equal compares the dates correctly
 | 
					
						
							|  |  |  |             expect(ranges[1]).to.deep.equal([ | 
					
						
							|  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2025-06-18 21:40:01 +02:00
										 |  |  |                     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"), | 
					
						
							| 
									
										
										
										
											2025-06-12 14:32:22 +02:00
										 |  |  |                 }, | 
					
						
							|  |  |  |             ]) | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |         it("open ended opening hours", () => { | 
					
						
							| 
									
										
										
										
											2025-06-18 21:40:01 +02:00
										 |  |  |             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") | 
					
						
							|  |  |  |             ) | 
					
						
							| 
									
										
										
										
											2025-06-12 14:32:22 +02:00
										 |  |  |             // Deep equal compares the dates correctly
 | 
					
						
							|  |  |  |             expect(ranges[1]).to.deep.equal([ | 
					
						
							|  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2025-06-18 21:40:01 +02:00
										 |  |  |                     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"), | 
					
						
							| 
									
										
										
										
											2025-06-12 14:32:22 +02:00
										 |  |  |                 }, | 
					
						
							|  |  |  |             ]) | 
					
						
							|  |  |  |             expect(ranges.at(-1)).to.deep.equal([ | 
					
						
							|  |  |  |                 { | 
					
						
							| 
									
										
										
										
											2025-06-18 21:40:01 +02:00
										 |  |  |                     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"), | 
					
						
							| 
									
										
										
										
											2025-06-12 14:32:22 +02:00
										 |  |  |                 }, | 
					
						
							|  |  |  |             ]) | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |     }) | 
					
						
							|  |  |  | }) |