1import { describe, expect, it } from "vite-plus/test";
2
3import {
4 mobileProjectGroupingModePatch,
5 resolveMobileProjectGroupingSettings,
6} from "./project-grouping.logic";
7
8describe("mobile project grouping preferences", () => {
9 it("maps the legacy boolean while preferring the new mode", () => {
10 expect(resolveMobileProjectGroupingSettings({}).sidebarProjectGroupingMode).toBe("repository");
11 expect(
12 resolveMobileProjectGroupingSettings({ projectGroupingEnabled: false })
13 .sidebarProjectGroupingMode,
14 ).toBe("separate");
15 expect(
16 resolveMobileProjectGroupingSettings({
17 projectGroupingEnabled: false,
18 projectGroupingMode: "repository_path",
19 }).sidebarProjectGroupingMode,
20 ).toBe("repository_path");
21 });
22
23 it("dual-writes the legacy boolean for rollback compatibility", () => {
24 expect(mobileProjectGroupingModePatch("separate")).toEqual({
25 projectGroupingMode: "separate",
26 projectGroupingEnabled: false,
27 });
28 expect(mobileProjectGroupingModePatch("repository_path")).toEqual({
29 projectGroupingMode: "repository_path",
30 projectGroupingEnabled: true,
31 });
32 });
33});