@terreno/rtk 0.10.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/authSlice.test.js +68 -0
  2. package/dist/authSlice.test.js.map +1 -1
  3. package/dist/authSliceNative.test.d.ts +2 -0
  4. package/dist/authSliceNative.test.d.ts.map +1 -0
  5. package/dist/authSliceNative.test.js +167 -0
  6. package/dist/authSliceNative.test.js.map +1 -0
  7. package/dist/betterAuthClient.d.ts +16 -0
  8. package/dist/betterAuthClient.d.ts.map +1 -1
  9. package/dist/betterAuthClient.js +5 -2
  10. package/dist/betterAuthClient.js.map +1 -1
  11. package/dist/betterAuthClient.test.d.ts +2 -0
  12. package/dist/betterAuthClient.test.d.ts.map +1 -0
  13. package/dist/betterAuthClient.test.js +151 -0
  14. package/dist/betterAuthClient.test.js.map +1 -0
  15. package/dist/betterAuthSlice.test.js +54 -1
  16. package/dist/betterAuthSlice.test.js.map +1 -1
  17. package/dist/buildNumber.test.d.ts +2 -0
  18. package/dist/buildNumber.test.d.ts.map +1 -0
  19. package/dist/buildNumber.test.js +95 -0
  20. package/dist/buildNumber.test.js.map +1 -0
  21. package/dist/constants.d.ts +27 -3
  22. package/dist/constants.d.ts.map +1 -1
  23. package/dist/constants.js +45 -56
  24. package/dist/constants.js.map +1 -1
  25. package/dist/constants.test.js +174 -123
  26. package/dist/constants.test.js.map +1 -1
  27. package/dist/isolated/useUpgradeCheck.isolated.d.ts +2 -0
  28. package/dist/isolated/useUpgradeCheck.isolated.d.ts.map +1 -0
  29. package/dist/isolated/useUpgradeCheck.isolated.js +135 -0
  30. package/dist/isolated/useUpgradeCheck.isolated.js.map +1 -0
  31. package/dist/mongooseSlice.test.d.ts +2 -0
  32. package/dist/mongooseSlice.test.d.ts.map +1 -0
  33. package/dist/mongooseSlice.test.js +39 -0
  34. package/dist/mongooseSlice.test.js.map +1 -0
  35. package/dist/tagGenerator.test.d.ts +2 -0
  36. package/dist/tagGenerator.test.d.ts.map +1 -0
  37. package/dist/tagGenerator.test.js +96 -0
  38. package/dist/tagGenerator.test.js.map +1 -0
  39. package/dist/testPreload.test.d.ts +2 -0
  40. package/dist/testPreload.test.d.ts.map +1 -0
  41. package/dist/testPreload.test.js +27 -0
  42. package/dist/testPreload.test.js.map +1 -0
  43. package/dist/useFeatureFlags.d.ts +25 -1
  44. package/dist/useFeatureFlags.d.ts.map +1 -1
  45. package/dist/useFeatureFlags.js +18 -16
  46. package/dist/useFeatureFlags.js.map +1 -1
  47. package/dist/useFeatureFlags.test.d.ts +2 -0
  48. package/dist/useFeatureFlags.test.d.ts.map +1 -0
  49. package/dist/useFeatureFlags.test.js +162 -0
  50. package/dist/useFeatureFlags.test.js.map +1 -0
  51. package/dist/useUpgradeCheck.d.ts +2 -0
  52. package/dist/useUpgradeCheck.d.ts.map +1 -1
  53. package/dist/useUpgradeCheck.js +39 -46
  54. package/dist/useUpgradeCheck.js.map +1 -1
  55. package/dist/useUpgradeCheck.test.d.ts +2 -0
  56. package/dist/useUpgradeCheck.test.d.ts.map +1 -0
  57. package/dist/useUpgradeCheck.test.js +326 -0
  58. package/dist/useUpgradeCheck.test.js.map +1 -0
  59. package/package.json +6 -3
  60. package/src/authSlice.test.ts +79 -0
  61. package/src/authSliceNative.test.ts +187 -0
  62. package/src/betterAuthClient.test.ts +176 -0
  63. package/src/betterAuthClient.ts +6 -3
  64. package/src/betterAuthSlice.test.ts +67 -0
  65. package/src/buildNumber.test.ts +120 -0
  66. package/src/constants.test.ts +193 -154
  67. package/src/constants.ts +72 -70
  68. package/src/isolated/useUpgradeCheck.isolated.ts +175 -0
  69. package/src/mongooseSlice.test.ts +46 -0
  70. package/src/tagGenerator.test.ts +109 -0
  71. package/src/testPreload.test.ts +30 -0
  72. package/src/useFeatureFlags.test.ts +209 -0
  73. package/src/useFeatureFlags.ts +44 -5
  74. package/src/useUpgradeCheck.test.ts +408 -0
  75. package/src/useUpgradeCheck.ts +41 -48
  76. package/dist/test-preload.d.ts +0 -2
  77. package/dist/test-preload.d.ts.map +0 -1
  78. package/dist/test-preload.js +0 -24
  79. package/dist/test-preload.js.map +0 -1
  80. package/src/test-preload.ts +0 -28
@@ -1,144 +1,195 @@
1
1
  import { afterEach, beforeEach, describe, expect, it, mock } from "bun:test";
2
- const loadConstantsModule = async ({ apiUrl, constantsMock, isDev = false, }) => {
3
- const hasApiUrl = "EXPO_PUBLIC_API_URL" in process.env;
4
- const previousApiUrl = process.env.EXPO_PUBLIC_API_URL;
5
- const previousDev = globalThis.__DEV__;
6
- if (apiUrl) {
7
- process.env.EXPO_PUBLIC_API_URL = apiUrl;
8
- }
9
- else {
10
- delete process.env.EXPO_PUBLIC_API_URL;
11
- }
12
- globalThis.__DEV__ = isDev;
13
- mock.module("expo-constants", () => ({
14
- default: constantsMock,
15
- }));
16
- const testCaseId = `${Date.now()}-${Math.random()}`;
17
- const module = (await import(`./constants?testCase=${testCaseId}`));
18
- if (hasApiUrl) {
19
- process.env.EXPO_PUBLIC_API_URL = previousApiUrl;
20
- }
21
- else {
22
- delete process.env.EXPO_PUBLIC_API_URL;
23
- }
24
- if (typeof previousDev === "undefined") {
25
- delete globalThis.__DEV__;
26
- }
27
- else {
28
- globalThis.__DEV__ = previousDev;
29
- }
30
- return module;
31
- };
32
- describe("constants", () => {
33
- const originalDebug = console.debug;
34
- const originalError = console.error;
35
- beforeEach(() => {
36
- console.debug = mock(() => { });
37
- console.error = mock(() => { });
2
+ import { AUTH_DEBUG, baseTasksUrl, baseUrl, baseWebsocketsUrl, logAuth, logSocket, resolveBaseUrls, } from "./constants";
3
+ describe("resolveBaseUrls", () => {
4
+ it("treats an empty envApiUrl as unset and falls back to localhost", () => {
5
+ const urls = resolveBaseUrls({
6
+ envApiUrl: "",
7
+ expoConstants: { expoConfig: { extra: {} } },
8
+ isDev: false,
9
+ });
10
+ expect(urls.baseUrl).toBe("http://localhost:4000");
11
+ expect(urls.baseWebsocketsUrl).toBe("ws://localhost:4000/");
12
+ expect(urls.baseTasksUrl).toBe("http://localhost:4000/tasks");
38
13
  });
39
- afterEach(() => {
40
- console.debug = originalDebug;
41
- console.error = originalError;
42
- });
43
- it("uses EXPO_PUBLIC_API_URL override and enables debug logs", async () => {
44
- const constants = await loadConstantsModule({
45
- apiUrl: "https://api.example.com",
46
- constantsMock: {
47
- expoConfig: {
48
- extra: {
49
- APP_ENV: "production",
50
- AUTH_DEBUG: "true",
51
- WEBSOCKETS_DEBUG: "true",
52
- },
53
- },
54
- },
14
+ it("treats an empty BASE_URL extra as unset and falls back to localhost in non-dev", () => {
15
+ const urls = resolveBaseUrls({
16
+ expoConstants: { expoConfig: { extra: { BASE_URL: "" } } },
55
17
  isDev: false,
56
18
  });
57
- expect(constants.baseUrl).toBe("https://api.example.com");
58
- expect(constants.baseWebsocketsUrl).toBe("https://ws.example.com/");
59
- expect(constants.baseTasksUrl).toBe("https://tasks.example.com/tasks");
60
- expect(constants.AUTH_DEBUG).toBe(true);
61
- constants.logAuth("auth message");
62
- constants.logSocket(undefined, "socket message");
63
- expect(console.debug).toHaveBeenCalledWith("auth message");
64
- expect(console.debug).toHaveBeenCalledWith("[websocket]", "socket message");
65
- });
66
- it("resolves dev hostUri URLs when __DEV__ is true", async () => {
67
- const constants = await loadConstantsModule({
68
- constantsMock: {
69
- expoConfig: {
70
- extra: {},
71
- hostUri: "10.0.0.12:8081",
72
- },
73
- },
19
+ expect(urls.baseUrl).toBe("http://localhost:4000");
20
+ });
21
+ it("uses env override when provided", () => {
22
+ const urls = resolveBaseUrls({
23
+ envApiUrl: "https://api.example.com",
24
+ expoConstants: { expoConfig: { extra: {} } },
25
+ isDev: false,
26
+ });
27
+ expect(urls.baseUrl).toBe("https://api.example.com");
28
+ expect(urls.baseWebsocketsUrl).toBe("https://ws.example.com/");
29
+ expect(urls.baseTasksUrl).toBe("https://tasks.example.com/tasks");
30
+ });
31
+ it("uses hostUri in dev mode", () => {
32
+ const urls = resolveBaseUrls({
33
+ expoConstants: { expoConfig: { extra: {}, hostUri: "10.0.0.12:8081" } },
74
34
  isDev: true,
75
35
  });
76
- expect(constants.baseUrl).toBe("http://10.0.0.12:4000");
77
- expect(constants.baseWebsocketsUrl).toBe("ws://10.0.0.12:4000/");
78
- expect(constants.baseTasksUrl).toBe("http://10.0.0.12:4000/tasks");
36
+ expect(urls.baseUrl).toBe("http://10.0.0.12:4000");
37
+ expect(urls.baseWebsocketsUrl).toBe("ws://10.0.0.12:4000/");
38
+ expect(urls.baseTasksUrl).toBe("http://10.0.0.12:4000/tasks");
79
39
  });
80
- it("resolves dev experienceUrl URLs when hostUri is unavailable", async () => {
81
- const constants = await loadConstantsModule({
82
- constantsMock: {
40
+ it("falls back to experienceUrl in dev mode when hostUri missing", () => {
41
+ const urls = resolveBaseUrls({
42
+ expoConstants: {
83
43
  experienceUrl: "exp://192.168.1.20:19000",
84
- expoConfig: {
85
- extra: {},
86
- },
44
+ expoConfig: { extra: {} },
87
45
  },
88
46
  isDev: true,
89
47
  });
90
- expect(constants.baseUrl).toBe("http://192.168.1.20:4000");
91
- expect(constants.baseWebsocketsUrl).toBe("ws://192.168.1.20:4000/");
92
- expect(constants.baseTasksUrl).toBe("http://192.168.1.20:4000/tasks");
93
- });
94
- it("uses BASE_URL outside dev mode and allows user websocket debug flag", async () => {
95
- const constants = await loadConstantsModule({
96
- constantsMock: {
97
- expoConfig: {
98
- extra: {
99
- BASE_URL: "https://api.prod.com",
100
- WEBSOCKETS_DEBUG: "false",
101
- },
102
- },
103
- },
48
+ expect(urls.baseUrl).toBe("http://192.168.1.20:4000");
49
+ expect(urls.baseWebsocketsUrl).toBe("ws://192.168.1.20:4000/");
50
+ expect(urls.baseTasksUrl).toBe("http://192.168.1.20:4000/tasks");
51
+ });
52
+ it("falls back to localhost in dev mode when nothing else is available", () => {
53
+ const urls = resolveBaseUrls({
54
+ expoConstants: { expoConfig: { extra: {} } },
55
+ isDev: true,
56
+ });
57
+ expect(urls.baseUrl).toBe("http://localhost:4000");
58
+ expect(urls.baseWebsocketsUrl).toBe("ws://localhost:4000/");
59
+ expect(urls.baseTasksUrl).toBe("http://localhost:4000/tasks");
60
+ });
61
+ it("uses BASE_URL from extra when not in dev mode", () => {
62
+ const urls = resolveBaseUrls({
63
+ expoConstants: { expoConfig: { extra: { BASE_URL: "https://api.prod.com" } } },
104
64
  isDev: false,
105
65
  });
106
- expect(constants.baseUrl).toBe("https://api.prod.com");
107
- expect(constants.baseWebsocketsUrl).toBe("https://ws.prod.com/");
108
- expect(constants.baseTasksUrl).toBe("https://tasks.prod.com/tasks");
109
- constants.logSocket({ featureFlags: { debugWebsockets: { enabled: true } } }, "enabled");
110
- expect(console.debug).toHaveBeenCalledWith("[websocket]", "enabled");
111
- });
112
- it("falls back to non-dev hostUri when BASE_URL is missing", async () => {
113
- const constants = await loadConstantsModule({
114
- constantsMock: {
115
- expoConfig: {
116
- extra: {},
117
- hostUri: "172.16.0.3:8081",
118
- },
119
- },
66
+ expect(urls.baseUrl).toBe("https://api.prod.com");
67
+ expect(urls.baseWebsocketsUrl).toBe("https://ws.prod.com/");
68
+ expect(urls.baseTasksUrl).toBe("https://tasks.prod.com/tasks");
69
+ });
70
+ it("falls back to hostUri when BASE_URL absent in non-dev", () => {
71
+ const urls = resolveBaseUrls({
72
+ expoConstants: { expoConfig: { extra: {}, hostUri: "172.16.0.3:8081" } },
120
73
  isDev: false,
121
74
  });
122
- expect(constants.baseUrl).toBe("http://172.16.0.3:4000");
123
- expect(constants.baseWebsocketsUrl).toBe("ws://172.16.0.3:4000/");
124
- expect(constants.baseTasksUrl).toBe("http://172.16.0.3:4000/tasks");
125
- });
126
- it("warns for exp.direct tunnels and falls back to localhost", async () => {
127
- const constants = await loadConstantsModule({
128
- constantsMock: {
129
- expoConfig: {
130
- extra: {},
131
- },
132
- expoGoConfig: {
133
- debuggerHost: "abc.exp.direct:80",
134
- },
75
+ expect(urls.baseUrl).toBe("http://172.16.0.3:4000");
76
+ expect(urls.baseWebsocketsUrl).toBe("ws://172.16.0.3:4000/");
77
+ expect(urls.baseTasksUrl).toBe("http://172.16.0.3:4000/tasks");
78
+ });
79
+ it("falls back to experienceUrl in non-dev when hostUri absent", () => {
80
+ const urls = resolveBaseUrls({
81
+ expoConstants: {
82
+ experienceUrl: "exp://10.1.2.3:19000",
83
+ expoConfig: { extra: {} },
135
84
  },
136
85
  isDev: false,
137
86
  });
138
- expect(console.error).toHaveBeenCalledWith("Expo Tunnel is not currently supported for connecting to the API, please use LAN or Local mode.");
139
- expect(constants.baseUrl).toBe("http://localhost:4000");
140
- expect(constants.baseWebsocketsUrl).toBe("ws://localhost:4000/");
141
- expect(constants.baseTasksUrl).toBe("http://localhost:4000/tasks");
87
+ expect(urls.baseUrl).toBe("http://10.1.2.3:4000");
88
+ });
89
+ it("defaults to localhost in non-dev when nothing is configured", () => {
90
+ const urls = resolveBaseUrls({
91
+ expoConstants: { expoConfig: { extra: {} } },
92
+ isDev: false,
93
+ });
94
+ expect(urls.baseUrl).toBe("http://localhost:4000");
95
+ });
96
+ });
97
+ describe("module-level exports", () => {
98
+ it("exports baseUrl / websockets / tasks URLs that resolve to localhost with default mocks", () => {
99
+ expect(baseUrl).toBe("http://localhost:4000");
100
+ expect(baseWebsocketsUrl).toBe("ws://localhost:4000/");
101
+ expect(baseTasksUrl).toBe("http://localhost:4000/tasks");
102
+ });
103
+ it("AUTH_DEBUG is false by default with test-preload mocks", () => {
104
+ expect(AUTH_DEBUG).toBe(false);
105
+ });
106
+ });
107
+ describe("logAuth / logSocket", () => {
108
+ const originalDebug = console.debug;
109
+ const calls = [];
110
+ beforeEach(() => {
111
+ calls.length = 0;
112
+ console.debug = (...args) => {
113
+ calls.push(args);
114
+ };
115
+ });
116
+ afterEach(() => {
117
+ console.debug = originalDebug;
118
+ });
119
+ it("logAuth is a no-op when AUTH_DEBUG is disabled", () => {
120
+ logAuth("auth message");
121
+ expect(calls).toEqual([]);
122
+ });
123
+ it("logSocket logs when passed boolean true", () => {
124
+ logSocket(true, "socket message");
125
+ expect(calls).toEqual([["[websocket]", "socket message"]]);
126
+ });
127
+ it("logSocket does not log when passed boolean false", () => {
128
+ logSocket(false, "suppressed");
129
+ expect(calls).toEqual([]);
130
+ });
131
+ it("logSocket logs when user has debugWebsockets feature flag enabled", () => {
132
+ logSocket({ featureFlags: { debugWebsockets: { enabled: true } } }, "enabled");
133
+ expect(calls).toEqual([["[websocket]", "enabled"]]);
134
+ });
135
+ it("logSocket does not log when user has debugWebsockets disabled", () => {
136
+ logSocket({ featureFlags: { debugWebsockets: { enabled: false } } }, "disabled");
137
+ expect(calls).toEqual([]);
138
+ });
139
+ it("logSocket does not log with undefined user", () => {
140
+ logSocket(undefined, "no user");
141
+ expect(calls).toEqual([]);
142
+ });
143
+ });
144
+ describe("expo tunnel warning", () => {
145
+ it("warns when expoGoConfig.debuggerHost contains exp.direct", async () => {
146
+ const errorCalls = [];
147
+ const originalError = console.error;
148
+ console.error = (...args) => {
149
+ errorCalls.push(args);
150
+ };
151
+ mock.module("expo-constants", () => ({
152
+ default: {
153
+ expoConfig: { extra: {} },
154
+ expoGoConfig: { debuggerHost: "abc.exp.direct" },
155
+ },
156
+ }));
157
+ try {
158
+ const testId = `${Date.now()}-${Math.random()}`;
159
+ await import(`./constants?case=${testId}`);
160
+ const warning = errorCalls.find((args) => args.some((v) => typeof v === "string" && v.includes("Expo Tunnel is not currently")));
161
+ expect(warning).toBeDefined();
162
+ }
163
+ finally {
164
+ console.error = originalError;
165
+ mock.module("expo-constants", () => ({ default: { expoConfig: { extra: {} } } }));
166
+ }
167
+ });
168
+ });
169
+ describe("AUTH_DEBUG enabled path", () => {
170
+ it("logs debug messages from logAuth when AUTH_DEBUG is true on module load", async () => {
171
+ const debugCalls = [];
172
+ const originalDebug = console.debug;
173
+ console.debug = (...args) => {
174
+ debugCalls.push(args);
175
+ };
176
+ mock.module("expo-constants", () => ({
177
+ default: { expoConfig: { extra: { AUTH_DEBUG: "true", WEBSOCKETS_DEBUG: "true" } } },
178
+ }));
179
+ try {
180
+ const testId = `${Date.now()}-${Math.random()}`;
181
+ const loaded = (await import(`./constants?case=${testId}`));
182
+ expect(loaded.AUTH_DEBUG).toBe(true);
183
+ const preLength = debugCalls.length;
184
+ loaded.logAuth("hello");
185
+ expect(debugCalls.length).toBe(preLength + 1);
186
+ loaded.logSocket(undefined, "ws on");
187
+ expect(debugCalls.some((args) => args[0] === "[websocket]" && args[1] === "ws on")).toBe(true);
188
+ }
189
+ finally {
190
+ console.debug = originalDebug;
191
+ mock.module("expo-constants", () => ({ default: { expoConfig: { extra: {} } } }));
192
+ }
142
193
  });
143
194
  });
144
195
  //# sourceMappingURL=constants.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../src/constants.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../src/constants.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useUpgradeCheck.isolated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpgradeCheck.isolated.d.ts","sourceRoot":"","sources":["../../src/isolated/useUpgradeCheck.isolated.ts"],"names":[],"mappings":""}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Isolated tests for useUpgradeCheck mobile-only paths.
3
+ *
4
+ * These run in a separate bun process because they need IsWeb=false,
5
+ * which cannot be changed per-test (bun snapshots module exports).
6
+ */
7
+ import { afterEach, beforeEach, describe, expect, it, mock } from "bun:test";
8
+ import { act, renderHook, waitFor } from "@testing-library/react-native";
9
+ // ---------------------------------------------------------------------------
10
+ // Mutable refs
11
+ // ---------------------------------------------------------------------------
12
+ let mockBuildNumber = 42;
13
+ const mockUnwrap = mock(() => Promise.resolve({ status: "warning", updateUrl: "https://example.com/update" }));
14
+ const mockTrigger = mock((..._args) => ({ unwrap: mockUnwrap }));
15
+ mock.module("../emptyApi", () => ({
16
+ useLazyGetVersionCheckQuery: () => [mockTrigger],
17
+ }));
18
+ // IsWeb = false so we exercise the mobile onUpdate paths
19
+ mock.module("../platform", () => ({
20
+ IsWeb: false,
21
+ }));
22
+ let appStateListeners = [];
23
+ const mockRemove = mock(() => { });
24
+ const mockAddEventListener = mock((_event, handler) => {
25
+ appStateListeners.push(handler);
26
+ return { remove: mockRemove };
27
+ });
28
+ const mockOpenURL = mock(() => Promise.resolve(true));
29
+ mock.module("react-native", () => ({
30
+ AppState: {
31
+ addEventListener: mockAddEventListener,
32
+ currentState: "active",
33
+ },
34
+ Linking: { openURL: mockOpenURL },
35
+ Platform: { OS: "ios" },
36
+ StyleSheet: { create: (s) => s },
37
+ }));
38
+ mock.module("expo-constants", () => ({
39
+ default: {
40
+ get expoConfig() {
41
+ return { extra: { buildNumber: mockBuildNumber } };
42
+ },
43
+ },
44
+ }));
45
+ mock.module("expo-secure-store", () => ({
46
+ deleteItemAsync: async () => { },
47
+ getItemAsync: async () => null,
48
+ setItemAsync: async () => { },
49
+ }));
50
+ mock.module("@react-native-async-storage/async-storage", () => ({
51
+ default: {
52
+ getItem: async () => null,
53
+ removeItem: async () => { },
54
+ setItem: async () => { },
55
+ },
56
+ }));
57
+ mock.module("expo-network", () => ({
58
+ getNetworkStateAsync: async () => ({ isConnected: true }),
59
+ }));
60
+ // Import after all mock.module calls
61
+ import { useUpgradeCheck } from "../useUpgradeCheck";
62
+ const flushPromises = () => new Promise((r) => setTimeout(r, 0));
63
+ // ---------------------------------------------------------------------------
64
+ // Setup / teardown
65
+ // ---------------------------------------------------------------------------
66
+ const warnCalls = [];
67
+ const originalWarn = console.warn;
68
+ const originalDebug = console.debug;
69
+ beforeEach(() => {
70
+ mockBuildNumber = 42;
71
+ appStateListeners = [];
72
+ mockUnwrap.mockClear();
73
+ mockUnwrap.mockImplementation(() => Promise.resolve({ status: "warning", updateUrl: "https://example.com/update" }));
74
+ mockTrigger.mockClear();
75
+ mockTrigger.mockImplementation((..._args) => ({ unwrap: mockUnwrap }));
76
+ mockRemove.mockClear();
77
+ mockAddEventListener.mockClear();
78
+ mockAddEventListener.mockImplementation((_event, handler) => {
79
+ appStateListeners.push(handler);
80
+ return { remove: mockRemove };
81
+ });
82
+ mockOpenURL.mockClear();
83
+ mockOpenURL.mockImplementation(() => Promise.resolve(true));
84
+ warnCalls.length = 0;
85
+ console.warn = (...args) => {
86
+ warnCalls.push(args);
87
+ };
88
+ console.debug = () => { };
89
+ });
90
+ afterEach(() => {
91
+ console.warn = originalWarn;
92
+ console.debug = originalDebug;
93
+ });
94
+ // ---------------------------------------------------------------------------
95
+ // Tests
96
+ // ---------------------------------------------------------------------------
97
+ describe("useUpgradeCheck (mobile)", () => {
98
+ it("canUpdate is true when updateUrl is set", async () => {
99
+ const { result } = renderHook(() => useUpgradeCheck());
100
+ await act(async () => {
101
+ await flushPromises();
102
+ });
103
+ await waitFor(() => {
104
+ expect(result.current.canUpdate).toBe(true);
105
+ });
106
+ });
107
+ it("canUpdate is false when no updateUrl", () => {
108
+ mockUnwrap.mockImplementation(() => new Promise(() => { }));
109
+ const { result } = renderHook(() => useUpgradeCheck());
110
+ expect(result.current.canUpdate).toBe(false);
111
+ });
112
+ it("onUpdate calls Linking.openURL with updateUrl", async () => {
113
+ const { result } = renderHook(() => useUpgradeCheck());
114
+ await act(async () => {
115
+ await flushPromises();
116
+ });
117
+ await waitFor(() => {
118
+ expect(result.current.canUpdate).toBe(true);
119
+ });
120
+ act(() => {
121
+ result.current.onUpdate();
122
+ });
123
+ expect(mockOpenURL).toHaveBeenCalledWith("https://example.com/update");
124
+ });
125
+ it("onUpdate logs warning when no updateUrl on mobile", () => {
126
+ mockUnwrap.mockImplementation(() => Promise.resolve({ status: "ok" }));
127
+ const { result } = renderHook(() => useUpgradeCheck());
128
+ act(() => {
129
+ result.current.onUpdate();
130
+ });
131
+ const noUrlWarn = warnCalls.find((args) => typeof args[0] === "string" && args[0].includes("no update URL"));
132
+ expect(noUrlWarn).toBeDefined();
133
+ });
134
+ });
135
+ //# sourceMappingURL=useUpgradeCheck.isolated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpgradeCheck.isolated.js","sourceRoot":"","sources":["../../src/isolated/useUpgradeCheck.isolated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mongooseSlice.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongooseSlice.test.d.ts","sourceRoot":"","sources":["../src/mongooseSlice.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { describe, expect, it } from "bun:test";
2
+ import { populateId } from "./mongooseSlice";
3
+ describe("populateId", () => {
4
+ const items = [
5
+ { _id: "a", name: "alpha" },
6
+ { _id: "b", name: "beta" },
7
+ { _id: "c", name: "gamma" },
8
+ ];
9
+ const response = {
10
+ data: items,
11
+ limit: 10,
12
+ more: false,
13
+ page: 1,
14
+ total: items.length,
15
+ };
16
+ it("returns the matching object by id", () => {
17
+ expect(populateId("b", response)).toEqual({ _id: "b", name: "beta" });
18
+ });
19
+ it("returns undefined when id is missing", () => {
20
+ expect(populateId(undefined, response)).toBeUndefined();
21
+ });
22
+ it("returns undefined when objs is missing", () => {
23
+ expect(populateId("a")).toBeUndefined();
24
+ });
25
+ it("returns undefined when objs has no data", () => {
26
+ expect(populateId("a", {})).toBeUndefined();
27
+ });
28
+ it("returns undefined when no item matches", () => {
29
+ expect(populateId("z", response)).toBeUndefined();
30
+ });
31
+ it("handles sparse arrays without throwing", () => {
32
+ const sparse = {
33
+ // biome-ignore lint/suspicious/noExplicitAny: Simulating malformed API payloads.
34
+ data: [undefined, { _id: "found" }],
35
+ };
36
+ expect(populateId("found", sparse)).toEqual({ _id: "found" });
37
+ });
38
+ });
39
+ //# sourceMappingURL=mongooseSlice.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mongooseSlice.test.js","sourceRoot":"","sources":["../src/mongooseSlice.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAC,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAoB,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE9D,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,KAAK,GAAG;QACZ,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAC;QACzB,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAC;QACxB,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAC;KAC1B,CAAC;IACF,MAAM,QAAQ,GAAyC;QACrD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,KAAK,CAAC,MAAM;KACpB,CAAC;IAEF,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,MAAM,GAAgC;YAC1C,iFAAiF;YACjF,IAAI,EAAE,CAAC,SAAgB,EAAE,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC;SACzC,CAAC;QACF,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tagGenerator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagGenerator.test.d.ts","sourceRoot":"","sources":["../src/tagGenerator.test.ts"],"names":[],"mappings":""}