
* feat: ✨ add taxes app * chore: 🔥 remove files, use monorepo ones instead * chore: ✨ add all env vars to .env.example * refactor: 🔧 use saleor eslint config * build: ⬆️ app-sdk, remove vercel from apl * refactor: ♻️ remove providers/index, infer taxProviders from providerConfig * refactor: ♻️ use tuples to use objects * refactor: 🚚 move types to taxes module * refactor: ♻️ tax-prepare-data -> tax-line-resolver * refactor: get isInFrame from apps-shared * build: ⬆️ next * feat: ✨ add appRegister allowlist * Update apps/taxes/src/pages/api/manifest.ts Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com> * Update apps/taxes/src/pages/api/manifest.ts Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com> * chore: 💡 improve comments * refactor: 🔥 app-dashboard-link * docs: 📝 add taxes to readme * refactor: 🔥 app-main-bar * refactor: ♻️ align saleor-app.ts with the rest * refactor: ♻️ use defaultValues * chore: ♻️ misc --------- Co-authored-by: Krzysztof Wolski <krzysztof.k.wolski@gmail.com>
48 lines
1.1 KiB
TypeScript
48 lines
1.1 KiB
TypeScript
import { describe, expect, it, vi } from "vitest";
|
|
import { AppBridgeState } from "@saleor/app-sdk/app-bridge";
|
|
import { render, waitFor } from "@testing-library/react";
|
|
import { ThemeSynchronizer } from "./theme-synchronizer";
|
|
|
|
const appBridgeState: AppBridgeState = {
|
|
ready: true,
|
|
token: "token",
|
|
domain: "some-domain.saleor.cloud",
|
|
theme: "dark",
|
|
path: "/",
|
|
locale: "en",
|
|
id: "app-id",
|
|
saleorApiUrl: "https://some-domain.saleor.cloud/graphql/",
|
|
};
|
|
|
|
const mockThemeChange = vi.fn();
|
|
|
|
vi.mock("@saleor/app-sdk/app-bridge", () => {
|
|
return {
|
|
useAppBridge() {
|
|
return {
|
|
appBridgeState: appBridgeState,
|
|
};
|
|
},
|
|
};
|
|
});
|
|
|
|
vi.mock("@saleor/macaw-ui", () => {
|
|
return {
|
|
useTheme() {
|
|
return {
|
|
setTheme: mockThemeChange,
|
|
themeType: "light",
|
|
};
|
|
},
|
|
};
|
|
});
|
|
|
|
describe("ThemeSynchronizer", () => {
|
|
it("Updates MacawUI theme when AppBridgeState theme changes", () => {
|
|
render(<ThemeSynchronizer />);
|
|
|
|
return waitFor(() => {
|
|
expect(mockThemeChange).toHaveBeenCalledWith("dark");
|
|
});
|
|
});
|
|
});
|