Farmbot-Web-App/frontend/__tests__/i18next_test.ts

45 lines
1.1 KiB
TypeScript

jest.mock("axios", () => {
return {
default: {
get: jest.fn((_url: string) => {
return Promise.resolve();
})
}
};
});
import { generateUrl, getUserLang, generateI18nConfig } from "../i18n";
import axios from "axios";
const LANG_CODE = "en_US";
const HOST = "local.dev";
const PORT = "2323";
describe("generateUrl", () => {
it("Generates a URL from a language code", () => {
const result = generateUrl(LANG_CODE, HOST, PORT);
expect(result).toBe("//local.dev:2323/app-resources/languages/en.js");
});
});
describe("getUserLang", () => {
it("gets the user's language", (done) => {
getUserLang(LANG_CODE, HOST, PORT)
.then((result) => {
expect(axios.get).toHaveBeenCalled();
expect(axios.get).toHaveBeenCalledWith(generateUrl(LANG_CODE, HOST, PORT));
expect(result).toEqual("en");
done();
})
.catch((x) => {
fail(x.message);
});
});
});
describe("generateI18nConfig", () => {
it("generates a config with defaults", async () => {
const result = await generateI18nConfig("en");
expect(result.lng).toBe("en");
});
});