import { I18nReducer } from "../I18nReducer";
import { Locales } from "../../../i18n";

describe("i18n reducer", () => {
  it("should return the initial state", () => {
    expect(I18nReducer(undefined, {})).toStrictEqual({
      locales: new Locales(),
      locale: "en",
    });
    expect(I18nReducer()).toStrictEqual({
      locales: new Locales(),
      locale: "en",
    });
  });

  it("should handle UPDATE_LOCALE", () => {
    expect(
      I18nReducer(
        {},
        {
          type: "UPDATE_LOCALE",
          payload: "de",
        },
      ),
    ).toStrictEqual({
      locale: "de",
    });
  });
});
