UNPKG

@applicaster/zapp-react-dom-app

Version:

Zapp App Component for Applicaster's Quick Brick React Native App

58 lines (46 loc) 1.64 kB
import { getLanguageCodeImpl as getLanguageCode } from ".."; describe("getLanguageCode", () => { it("return best matched language", async () => { // setup const getLanguageCodeFromLocalStorage = jest .fn() .mockResolvedValueOnce(undefined); const getAvailableAppLanguages = jest .fn() .mockReturnValue(["en", "fr", "ru"]); const pickBestMatchedLanguage = jest.fn().mockReturnValue("ru"); const setLanguageCodeToLocalStorage = jest.fn().mockResolvedValueOnce(true); const locale = "ru"; // run const result = await getLanguageCode( getLanguageCodeFromLocalStorage, getAvailableAppLanguages, pickBestMatchedLanguage, setLanguageCodeToLocalStorage )(locale); // verify expect(result).toEqual(locale); }); it("return value from local-storage", async () => { // setup const getLanguageCodeFromLocalStorage = jest .fn() .mockResolvedValueOnce("value-from-local-storage"); const getAvailableAppLanguages = jest.fn(); const pickBestMatchedLanguage = jest.fn(); const setLanguageCodeToLocalStorage = jest.fn(); const locale = "ru"; // run const result = await getLanguageCode( getLanguageCodeFromLocalStorage, getAvailableAppLanguages, pickBestMatchedLanguage, setLanguageCodeToLocalStorage )(locale); // verify expect(result).toEqual("value-from-local-storage"); expect(getAvailableAppLanguages).not.toHaveBeenCalled(); expect(pickBestMatchedLanguage).not.toHaveBeenCalled(); expect(setLanguageCodeToLocalStorage).not.toHaveBeenCalled(); }); });