|
|
@@ -2,18 +2,9 @@
|
|
|
|
|
|
import React from "react"
|
|
|
import { render, screen, act, cleanup } from "@/utils/test-utils"
|
|
|
-import posthog from "posthog-js"
|
|
|
|
|
|
import AppWithProviders from "../App"
|
|
|
|
|
|
-// Mock posthog
|
|
|
-vi.mock("posthog-js", () => ({
|
|
|
- default: {
|
|
|
- onFeatureFlags: vi.fn(),
|
|
|
- getFeatureFlag: vi.fn(),
|
|
|
- },
|
|
|
-}))
|
|
|
-
|
|
|
vi.mock("@src/utils/vscode", () => ({
|
|
|
vscode: {
|
|
|
postMessage: vi.fn(),
|
|
|
@@ -198,7 +189,6 @@ describe("App", () => {
|
|
|
shouldShowAnnouncement: false,
|
|
|
experiments: {},
|
|
|
language: "en",
|
|
|
- telemetrySetting: "enabled",
|
|
|
})
|
|
|
})
|
|
|
|
|
|
@@ -348,54 +338,4 @@ describe("App", () => {
|
|
|
expect(chatView.getAttribute("data-hidden")).toBe("false")
|
|
|
expect(screen.queryByTestId("marketplace-view")).not.toBeInTheDocument()
|
|
|
})
|
|
|
-
|
|
|
- describe("PostHog feature flag initialization", () => {
|
|
|
- it("waits for state hydration before checking feature flags", () => {
|
|
|
- mockUseExtensionState.mockReturnValue({
|
|
|
- didHydrateState: false,
|
|
|
- showWelcome: false,
|
|
|
- shouldShowAnnouncement: false,
|
|
|
- experiments: {},
|
|
|
- language: "en",
|
|
|
- telemetrySetting: "enabled",
|
|
|
- })
|
|
|
-
|
|
|
- render(<AppWithProviders />)
|
|
|
-
|
|
|
- // PostHog feature flag check should not be called before hydration
|
|
|
- expect(posthog.onFeatureFlags).not.toHaveBeenCalled()
|
|
|
- })
|
|
|
-
|
|
|
- it("checks feature flags after state hydration when telemetry is enabled", () => {
|
|
|
- mockUseExtensionState.mockReturnValue({
|
|
|
- didHydrateState: true,
|
|
|
- showWelcome: false,
|
|
|
- shouldShowAnnouncement: false,
|
|
|
- experiments: {},
|
|
|
- language: "en",
|
|
|
- telemetrySetting: "enabled",
|
|
|
- })
|
|
|
-
|
|
|
- render(<AppWithProviders />)
|
|
|
-
|
|
|
- // PostHog feature flag check should be called after hydration
|
|
|
- expect(posthog.onFeatureFlags).toHaveBeenCalled()
|
|
|
- })
|
|
|
-
|
|
|
- it("does not check feature flags when telemetry is disabled", () => {
|
|
|
- mockUseExtensionState.mockReturnValue({
|
|
|
- didHydrateState: true,
|
|
|
- showWelcome: false,
|
|
|
- shouldShowAnnouncement: false,
|
|
|
- experiments: {},
|
|
|
- language: "en",
|
|
|
- telemetrySetting: "disabled",
|
|
|
- })
|
|
|
-
|
|
|
- render(<AppWithProviders />)
|
|
|
-
|
|
|
- // PostHog feature flag check should not be called when telemetry is disabled
|
|
|
- expect(posthog.onFeatureFlags).not.toHaveBeenCalled()
|
|
|
- })
|
|
|
- })
|
|
|
})
|