UNPKG

@rr0/cms

Version:

RR0 Content Management System (CMS)

48 lines (47 loc) 2 kB
import { TimeUrlBuilder } from "./TimeUrlBuilder.js"; import { RR0ContextImpl } from "../RR0Context.js"; import { describe, expect, test } from "@javarome/testscript"; import { cmsTestUtil } from "../test/index.js"; import path from "path"; import { TimeContext } from "./TimeContext.mjs"; describe("TimeUrlBuilder", () => { const config = cmsTestUtil.config; const rootDir = cmsTestUtil.time.fullRoot; const timeOptions = { rootDir, files: [] }; const timeUrlBuilder = new TimeUrlBuilder(timeOptions); test("builds year", () => { { const context = new RR0ContextImpl("fr", new TimeContext(), config); context.time.setYear(2008); const url = timeUrlBuilder.fromContext(context.time); expect(url).toEqual(path.join(rootDir, "2/0/0/8")); } { const context = new RR0ContextImpl("fr", new TimeContext(), config); context.time.setYear(2012); context.time.setMonth(8); context.time.setDayOfMonth(12); context.time.setYear(2020); // Resets month and day const url = timeUrlBuilder.fromContext(context.time); expect(url).toEqual(path.join(rootDir, "2/0/2/0")); } }); test("builds month", () => { { const context = new RR0ContextImpl("fr", new TimeContext(), config); context.time.setYear(2001); context.time.setMonth(9); const url = timeUrlBuilder.fromContext(context.time); expect(url).toBe(path.join(rootDir, "2/0/0/1/09")); } { const context = new RR0ContextImpl("fr", new TimeContext(), config); context.time.setYear(2012); context.time.setMonth(8); context.time.setDayOfMonth(12); context.time.setMonth(2); const url = timeUrlBuilder.fromContext(context.time); expect(url).toEqual(path.join(rootDir, "2/0/1/2/02")); } }); });