Merges shell multi-profile support for desktop (FN-3403) — spanning new connection-manager flows, shell onboarding interoperability, mobile connection profiles, desktop IPC/shell-settings plumbing, and tokenized titlebar styles — with a secondary migration of the WhatsApp plugin to the Baileys pairi Fusion-Task-Id: FN-3403
65 lines
1.6 KiB
TypeScript
65 lines
1.6 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import { requiresNativeShellOnboarding } from "../App";
|
|
|
|
describe("App shell onboarding gating", () => {
|
|
it("requires onboarding for mobile shell without active profile", () => {
|
|
expect(
|
|
requiresNativeShellOnboarding(
|
|
{ host: "mobile-shell", activeProfileId: null },
|
|
true,
|
|
false,
|
|
),
|
|
).toBe(true);
|
|
});
|
|
|
|
it("requires onboarding for desktop remote mode without active profile", () => {
|
|
expect(
|
|
requiresNativeShellOnboarding(
|
|
{ host: "desktop-shell", desktopMode: "remote", activeProfileId: null },
|
|
true,
|
|
false,
|
|
),
|
|
).toBe(true);
|
|
});
|
|
|
|
it("skips onboarding for desktop local mode", () => {
|
|
expect(
|
|
requiresNativeShellOnboarding(
|
|
{ host: "desktop-shell", desktopMode: "local", activeProfileId: null },
|
|
true,
|
|
false,
|
|
),
|
|
).toBe(false);
|
|
});
|
|
|
|
it("skips onboarding when an active shell profile exists", () => {
|
|
expect(
|
|
requiresNativeShellOnboarding(
|
|
{ host: "mobile-shell", activeProfileId: "profile-1" },
|
|
true,
|
|
false,
|
|
),
|
|
).toBe(false);
|
|
});
|
|
|
|
it("re-requires onboarding after active profile is removed", () => {
|
|
expect(
|
|
requiresNativeShellOnboarding(
|
|
{ host: "desktop-shell", desktopMode: "remote", activeProfileId: null },
|
|
true,
|
|
false,
|
|
),
|
|
).toBe(true);
|
|
});
|
|
|
|
it("skips onboarding for web host", () => {
|
|
expect(
|
|
requiresNativeShellOnboarding(
|
|
{ host: "web", activeProfileId: null },
|
|
true,
|
|
false,
|
|
),
|
|
).toBe(false);
|
|
});
|
|
});
|