Files
openfoodnetwork/spec/javascripts/stimulus/flatpickr_controller_test.js

36 lines
1.3 KiB
JavaScript

/**
* @jest-environment jsdom
*/
import { Application } from "stimulus";
import FlatpickrController from "../../../app/webpacker/controllers/flatpickr_controller.js";
describe("FlatpickrController", () => {
beforeAll(() => {
const application = Application.start();
application.register("flatpickr", FlatpickrController);
});
describe("#importFlatpickrLocale", () => {
describe("returns null to trigger flatpickr fallback to english", () => {
test.each([
["when no base_locale is set", {}],
["when base_locale doesn't match a Flatpickr locale", { base_locale: "invalid-locale" }],
["when base_locale is 'en'", { base_locale: "en" }],
])("%s", async (_description, i18n) => {
const controller = new FlatpickrController();
const locale = await controller.importFlatpickrLocale(i18n.base_locale);
expect(locale).toBeNull();
});
});
it("returns locale object for a supported locale (fr)", async () => {
const controller = new FlatpickrController();
const locale = await controller.importFlatpickrLocale("fr");
expect(locale).toBeInstanceOf(Object);
expect(locale).toHaveProperty("weekAbbreviation");
expect(locale.weekAbbreviation).toBe("Sem");
});
});
});