
* [Feature Flags] Abstraction over flags provider (#2928) * Remove useFlag hook * [Feature Flags] GraphQL build multiple schemas (#2937) * Build script * Refactor build types script * Remove old codegen.yml * Clean feature flags in script * Refactor schema path * Restore useAuthProvider * Update configuration file * encapsulate details for feature flags provider * Add proper env to flagsmith provider * Remove flagsmith mocks * Vite config define global variables * Render flagmisth provider only when is used * Keep name service agnostic * Test with mocked flagsmith * Use global FLAGS varaible for env flags * Fix type issue with FLAGS * Fix build issue * Remove duplicate translations * Fix typo * Prepare for QA tests * Remove test feature flag
44 lines
864 B
TypeScript
44 lines
864 B
TypeScript
import { renderHook } from "@testing-library/react-hooks";
|
|
|
|
import { useAllServiceFlags } from "./useAllServiceFlags";
|
|
|
|
jest.mock("flagsmith/react", () => ({
|
|
__esModule: true,
|
|
useFlagsmith: () => ({
|
|
getAllFlags: () => ({
|
|
flag_one: {
|
|
enabled: true,
|
|
value: "1",
|
|
},
|
|
flag_two: {
|
|
enabled: true,
|
|
value: "2",
|
|
},
|
|
}),
|
|
}),
|
|
}));
|
|
|
|
afterAll(() => {
|
|
jest.clearAllMocks();
|
|
});
|
|
|
|
describe("useAllServiceFlags hook", () => {
|
|
test("should return all flags from flag service", () => {
|
|
// Arrange && Act
|
|
const { result } = renderHook(() => useAllServiceFlags());
|
|
|
|
// Assert
|
|
expect(result.current).toEqual([
|
|
{
|
|
name: "flagOne",
|
|
enabled: true,
|
|
value: "1",
|
|
},
|
|
{
|
|
name: "flagTwo",
|
|
enabled: true,
|
|
value: "2",
|
|
},
|
|
]);
|
|
});
|
|
});
|