@terreno/rtk 0.11.7 → 0.11.9

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.
@@ -2,6 +2,9 @@ import { beforeEach, describe, expect, it } from "bun:test";
2
2
  import AsyncStorage from "@react-native-async-storage/async-storage";
3
3
  import { configureStore } from "@reduxjs/toolkit";
4
4
  import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
5
+ import { renderHook } from "@testing-library/react-native";
6
+ import React from "react";
7
+ import { Provider } from "react-redux";
5
8
  import { generateAuthSlice, generateProfileEndpoints, getAuthToken, selectCurrentUserId, selectIsAuthenticating, selectLastTokenRefreshTimestamp, useSelectCurrentUserId, useSelectIsAuthenticating, } from "./authSlice";
6
9
  // Create a real RTK Query API with the endpoints that generateAuthSlice expects
7
10
  const api = createApi({
@@ -483,6 +486,24 @@ describe("hook wrappers", () => {
483
486
  expect(() => useSelectCurrentUserId()).toThrow();
484
487
  expect(() => useSelectIsAuthenticating()).toThrow();
485
488
  });
489
+ it("returns the current userId from auth state via useSelectCurrentUserId", () => {
490
+ const { store, authSlice } = createTestStore();
491
+ store.dispatch(authSlice.actions.setUserId({ userId: "user-abc" }));
492
+ const wrapper = ({ children }) => React.createElement(Provider, { children, store });
493
+ const { result } = renderHook(() => useSelectCurrentUserId(), { wrapper });
494
+ expect(result.current).toBe("user-abc");
495
+ });
496
+ it("returns isAuthenticating from auth state via useSelectIsAuthenticating", () => {
497
+ const { store } = createTestStore();
498
+ store.dispatch({
499
+ meta: { arg: { endpointName: "emailLogin", type: "mutation" }, requestId: "hook-test" },
500
+ payload: undefined,
501
+ type: "terreno-rtk/executeMutation/pending",
502
+ });
503
+ const wrapper = ({ children }) => React.createElement(Provider, { children, store });
504
+ const { result } = renderHook(() => useSelectIsAuthenticating(), { wrapper });
505
+ expect(result.current).toBe(true);
506
+ });
486
507
  });
487
508
  describe("getAuthToken", () => {
488
509
  it("reads AUTH_TOKEN from AsyncStorage when window exists", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"authSlice.test.js","sourceRoot":"","sources":["../src/authSlice.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authSlice.test.js","sourceRoot":"","sources":["../src/authSlice.test.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ export declare const createStorageAdapter: (isWeb?: boolean) => StorageAdapter;
44
44
  export declare const createBetterAuthClient: (config: BetterAuthClientConfig) => {
45
45
  signIn: {
46
46
  social: <FetchOptions extends import("better-auth").ClientFetchOption<Partial<{
47
- provider: "google" | "github" | "apple" | (string & {}) | "linear" | "huggingface" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel";
47
+ provider: "line" | "google" | "github" | "apple" | (string & {}) | "linear" | "huggingface" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "paybin" | "paypal" | "polar" | "railway" | "vercel";
48
48
  callbackURL?: string | undefined;
49
49
  newUserCallbackURL?: string | undefined;
50
50
  errorCallbackURL?: string | undefined;
@@ -68,7 +68,7 @@ export declare const createBetterAuthClient: (config: BetterAuthClientConfig) =>
68
68
  loginHint?: string | undefined;
69
69
  additionalData?: Record<string, any> | undefined;
70
70
  }> & Record<string, any>, Partial<Record<string, any>> & Record<string, any>, Record<string, any> | undefined>>(data_0: import("better-auth").Prettify<{
71
- provider: "google" | "github" | "apple" | (string & {}) | "linear" | "huggingface" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "line" | "paybin" | "paypal" | "polar" | "railway" | "vercel";
71
+ provider: "line" | "google" | "github" | "apple" | (string & {}) | "linear" | "huggingface" | "atlassian" | "cognito" | "discord" | "facebook" | "figma" | "microsoft" | "slack" | "spotify" | "twitch" | "twitter" | "dropbox" | "kick" | "linkedin" | "gitlab" | "tiktok" | "reddit" | "roblox" | "salesforce" | "vk" | "zoom" | "notion" | "kakao" | "naver" | "paybin" | "paypal" | "polar" | "railway" | "vercel";
72
72
  callbackURL?: string | undefined;
73
73
  newUserCallbackURL?: string | undefined;
74
74
  errorCallbackURL?: string | undefined;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=buildNumber.isolated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildNumber.isolated.d.ts","sourceRoot":"","sources":["../../src/isolated/buildNumber.isolated.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Isolated tests for buildNumber.ts paths that require mock.module.
3
+ *
4
+ * These live in isolated/ so that mock.module calls do not interfere
5
+ * with coverage tracking in the main buildNumber.test.ts file.
6
+ */
7
+ import { describe, expect, it, mock } from "bun:test";
8
+ describe("resolveBuildNumber catch path", () => {
9
+ it("returns undefined when execSync throws (no git available)", async () => {
10
+ const originalEnvValue = process.env.EXPO_PUBLIC_BUILD_NUMBER;
11
+ delete process.env.EXPO_PUBLIC_BUILD_NUMBER;
12
+ mock.module("node:child_process", () => ({
13
+ execSync: () => {
14
+ throw new Error("git command not found");
15
+ },
16
+ }));
17
+ try {
18
+ const testId = `${Date.now()}-${Math.random()}`;
19
+ const loaded = (await import(`../buildNumber?case=${testId}`));
20
+ const result = loaded.resolveBuildNumber();
21
+ expect(result).toBeUndefined();
22
+ }
23
+ finally {
24
+ if (originalEnvValue !== undefined) {
25
+ process.env.EXPO_PUBLIC_BUILD_NUMBER = originalEnvValue;
26
+ }
27
+ }
28
+ });
29
+ });
30
+ //# sourceMappingURL=buildNumber.isolated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildNumber.isolated.js","sourceRoot":"","sources":["../../src/isolated/buildNumber.isolated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAC,MAAM,UAAU,CAAC;AAEpD,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QAC9D,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;YACvC,QAAQ,EAAE,GAAU,EAAE;gBACpB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;SACF,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAC1B,uBAAuB,MAAM,EAAE,CAChC,CAAoC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,gBAAgB,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -131,5 +131,23 @@ describe("useUpgradeCheck (mobile)", () => {
131
131
  const noUrlWarn = warnCalls.find((args) => typeof args[0] === "string" && args[0].includes("no update URL"));
132
132
  expect(noUrlWarn).toBeDefined();
133
133
  });
134
+ it("onUpdate logs a warning when Linking.openURL rejects", async () => {
135
+ const openError = new Error("link failed");
136
+ mockOpenURL.mockImplementation(() => Promise.reject(openError));
137
+ const { result } = renderHook(() => useUpgradeCheck());
138
+ await act(async () => {
139
+ await flushPromises();
140
+ });
141
+ await waitFor(() => {
142
+ expect(result.current.canUpdate).toBe(true);
143
+ });
144
+ await act(async () => {
145
+ result.current.onUpdate();
146
+ await flushPromises();
147
+ });
148
+ expect(mockOpenURL).toHaveBeenCalledWith("https://example.com/update");
149
+ const failureWarn = warnCalls.find((args) => typeof args[0] === "string" && args[0].includes("Failed to open update URL"));
150
+ expect(failureWarn).toBeDefined();
151
+ });
134
152
  });
135
153
  //# sourceMappingURL=useUpgradeCheck.isolated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUpgradeCheck.isolated.js","sourceRoot":"","sources":["../../src/isolated/useUpgradeCheck.isolated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAC,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,+BAA+B,CAAC;AAEvE,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAC9E,IAAI,eAAe,GAAuB,EAAE,CAAC;AAO7C,MAAM,UAAU,GAAG,IAAI,CACrB,GAAsC,EAAE,CACtC,OAAO,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,4BAA4B,EAAC,CAAC,CAChF,CAAC;AACF,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,GAAG,KAAgB,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC,CAAC,CAAC;AAE1E,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC;CACjD,CAAC,CAAC,CAAC;AAEJ,yDAAyD;AACzD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,KAAK,EAAE,KAAK;CACb,CAAC,CAAC,CAAC;AAEJ,IAAI,iBAAiB,GAAmC,EAAE,CAAC;AAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAClC,MAAM,oBAAoB,GAAG,IAAI,CAAC,CAAC,MAAc,EAAE,OAAgC,EAAE,EAAE;IACrF,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AACH,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAEtD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,QAAQ,EAAE;QACR,gBAAgB,EAAE,oBAAoB;QACtC,YAAY,EAAE,QAAQ;KACvB;IACD,OAAO,EAAE,EAAC,OAAO,EAAE,WAAW,EAAC;IAC/B,QAAQ,EAAE,EAAC,EAAE,EAAE,KAAK,EAAC;IACrB,UAAU,EAAE,EAAC,MAAM,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,EAAC;CACxC,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,OAAO,EAAE;QACP,IAAI,UAAU;YACZ,OAAO,EAAC,KAAK,EAAE,EAAC,WAAW,EAAE,eAAe,EAAC,EAAC,CAAC;QACjD,CAAC;KACF;CACF,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IACtC,eAAe,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;IAC/B,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;IAC9B,YAAY,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;CAC7B,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,MAAM,CAAC,2CAA2C,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9D,OAAO,EAAE;QACP,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;QACzB,UAAU,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KACxB;CACF,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,oBAAoB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;CACxD,CAAC,CAAC,CAAC;AAEJ,qCAAqC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD,MAAM,aAAa,GAAG,GAAkB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEhF,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAC9E,MAAM,SAAS,GAAgB,EAAE,CAAC;AAClC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;AAClC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;AAEpC,UAAU,CAAC,GAAG,EAAE;IACd,eAAe,GAAG,EAAE,CAAC;IACrB,iBAAiB,GAAG,EAAE,CAAC;IAEvB,UAAU,CAAC,SAAS,EAAE,CAAC;IACvB,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,CACjC,OAAO,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,SAAkB,EAAE,SAAS,EAAE,4BAA4B,EAAC,CAAC,CACvF,CAAC;IACF,WAAW,CAAC,SAAS,EAAE,CAAC;IACxB,WAAW,CAAC,kBAAkB,CAAC,CAAC,GAAG,KAAgB,EAAE,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC,CAAC,CAAC;IAChF,UAAU,CAAC,SAAS,EAAE,CAAC;IACvB,oBAAoB,CAAC,SAAS,EAAE,CAAC;IACjC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,MAAc,EAAE,OAAgC,EAAE,EAAE;QAC3F,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,WAAW,CAAC,SAAS,EAAE,CAAC;IACxB,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5D,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACrB,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,IAAe,EAAQ,EAAE;QAC1C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,OAAO,CAAC,KAAK,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC;IAC5B,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAC9E,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;QAErD,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;QAErD,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,GAAG,EAAE;YACP,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,IAAa,EAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;QAErD,GAAG,CAAC,GAAG,EAAE;YACP,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAC9B,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAC3E,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
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=useUpgradeCheck.mobile.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpgradeCheck.mobile.test.d.ts","sourceRoot":"","sources":["../src/useUpgradeCheck.mobile.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,163 @@
1
+ import { afterEach, beforeEach, describe, expect, it, mock } from "bun:test";
2
+ import { act, renderHook, waitFor } from "@testing-library/react-native";
3
+ // ---------------------------------------------------------------------------
4
+ // Mutable refs
5
+ // ---------------------------------------------------------------------------
6
+ let mockBuildNumber = 42;
7
+ const mockUnwrap = mock(() => Promise.resolve({ status: "ok" }));
8
+ const mockTrigger = mock((..._args) => ({ unwrap: mockUnwrap }));
9
+ mock.module("./emptyApi", () => ({
10
+ useLazyGetVersionCheckQuery: () => [mockTrigger],
11
+ }));
12
+ // IsWeb is false to exercise native code paths
13
+ mock.module("./platform", () => ({
14
+ IsWeb: false,
15
+ }));
16
+ let appStateListeners = [];
17
+ const mockRemove = mock(() => { });
18
+ const mockAddEventListener = mock((_event, handler) => {
19
+ appStateListeners.push(handler);
20
+ return { remove: mockRemove };
21
+ });
22
+ const mockOpenURL = mock(() => Promise.resolve(true));
23
+ mock.module("react-native", () => ({
24
+ AppState: {
25
+ addEventListener: mockAddEventListener,
26
+ currentState: "active",
27
+ },
28
+ Linking: { openURL: mockOpenURL },
29
+ Platform: { OS: "ios" },
30
+ StyleSheet: { create: (s) => s },
31
+ }));
32
+ mock.module("expo-constants", () => ({
33
+ default: {
34
+ get expoConfig() {
35
+ return { extra: { buildNumber: mockBuildNumber } };
36
+ },
37
+ },
38
+ }));
39
+ // ---------------------------------------------------------------------------
40
+ // Timer mocks
41
+ // ---------------------------------------------------------------------------
42
+ const originalSetInterval = globalThis.setInterval;
43
+ const originalClearInterval = globalThis.clearInterval;
44
+ let intervalIdCounter = 0;
45
+ const mockSetInterval = mock((_cb, _ms) => {
46
+ return ++intervalIdCounter;
47
+ });
48
+ const mockClearInterval = mock((_id) => { });
49
+ // ---------------------------------------------------------------------------
50
+ // Console capture
51
+ // ---------------------------------------------------------------------------
52
+ const warnCalls = [];
53
+ const originalDebug = console.debug;
54
+ const originalWarn = console.warn;
55
+ import { useUpgradeCheck } from "./useUpgradeCheck";
56
+ const flushPromises = () => new Promise((r) => setTimeout(r, 0));
57
+ beforeEach(() => {
58
+ mockBuildNumber = 42;
59
+ appStateListeners = [];
60
+ mockUnwrap.mockClear();
61
+ mockUnwrap.mockImplementation(() => Promise.resolve({ status: "ok" }));
62
+ mockTrigger.mockClear();
63
+ mockTrigger.mockImplementation((..._args) => ({ unwrap: mockUnwrap }));
64
+ mockRemove.mockClear();
65
+ mockAddEventListener.mockClear();
66
+ mockAddEventListener.mockImplementation((_event, handler) => {
67
+ appStateListeners.push(handler);
68
+ return { remove: mockRemove };
69
+ });
70
+ mockOpenURL.mockClear();
71
+ mockOpenURL.mockImplementation(() => Promise.resolve(true));
72
+ globalThis.setInterval = mockSetInterval;
73
+ globalThis.clearInterval = mockClearInterval;
74
+ mockSetInterval.mockClear();
75
+ mockClearInterval.mockClear();
76
+ warnCalls.length = 0;
77
+ console.debug = () => { };
78
+ console.warn = (...args) => {
79
+ warnCalls.push(args);
80
+ };
81
+ });
82
+ afterEach(() => {
83
+ console.debug = originalDebug;
84
+ console.warn = originalWarn;
85
+ globalThis.setInterval = originalSetInterval;
86
+ globalThis.clearInterval = originalClearInterval;
87
+ });
88
+ describe("useUpgradeCheck (mobile)", () => {
89
+ describe("onUpdate", () => {
90
+ it("calls Linking.openURL when updateUrl is available", async () => {
91
+ mockUnwrap.mockImplementation(() => Promise.resolve({
92
+ status: "warning",
93
+ updateUrl: "https://apps.apple.com/app/123",
94
+ }));
95
+ const { result } = renderHook(() => useUpgradeCheck());
96
+ await act(async () => {
97
+ await flushPromises();
98
+ });
99
+ await waitFor(() => {
100
+ expect(result.current.isWarning).toBe(true);
101
+ });
102
+ act(() => {
103
+ result.current.onUpdate();
104
+ });
105
+ expect(mockOpenURL).toHaveBeenCalledWith("https://apps.apple.com/app/123");
106
+ });
107
+ it("logs warning when no updateUrl is available on mobile", async () => {
108
+ mockUnwrap.mockImplementation(() => Promise.resolve({ status: "warning" }));
109
+ const { result } = renderHook(() => useUpgradeCheck());
110
+ await act(async () => {
111
+ await flushPromises();
112
+ });
113
+ await waitFor(() => {
114
+ expect(result.current.isWarning).toBe(true);
115
+ });
116
+ act(() => {
117
+ result.current.onUpdate();
118
+ });
119
+ const noUrlWarn = warnCalls.find((args) => typeof args[0] === "string" && args[0].includes("no update URL"));
120
+ expect(noUrlWarn).toBeDefined();
121
+ });
122
+ it("logs warning when Linking.openURL rejects", async () => {
123
+ mockOpenURL.mockImplementation(() => Promise.reject(new Error("Cannot open URL")));
124
+ mockUnwrap.mockImplementation(() => Promise.resolve({
125
+ status: "warning",
126
+ updateUrl: "https://apps.apple.com/app/123",
127
+ }));
128
+ const { result } = renderHook(() => useUpgradeCheck());
129
+ await act(async () => {
130
+ await flushPromises();
131
+ });
132
+ await waitFor(() => {
133
+ expect(result.current.isWarning).toBe(true);
134
+ });
135
+ await act(async () => {
136
+ result.current.onUpdate();
137
+ await flushPromises();
138
+ });
139
+ const failWarn = warnCalls.find((args) => typeof args[0] === "string" && args[0].includes("Failed to open update URL"));
140
+ expect(failWarn).toBeDefined();
141
+ });
142
+ });
143
+ describe("canUpdate", () => {
144
+ it("is false on mobile when updateUrl is not set", () => {
145
+ const { result } = renderHook(() => useUpgradeCheck());
146
+ expect(result.current.canUpdate).toBe(false);
147
+ });
148
+ it("is true on mobile when updateUrl is set", async () => {
149
+ mockUnwrap.mockImplementation(() => Promise.resolve({
150
+ status: "warning",
151
+ updateUrl: "https://apps.apple.com/app/123",
152
+ }));
153
+ const { result } = renderHook(() => useUpgradeCheck());
154
+ await act(async () => {
155
+ await flushPromises();
156
+ });
157
+ await waitFor(() => {
158
+ expect(result.current.canUpdate).toBe(true);
159
+ });
160
+ });
161
+ });
162
+ });
163
+ //# sourceMappingURL=useUpgradeCheck.mobile.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUpgradeCheck.mobile.test.js","sourceRoot":"","sources":["../src/useUpgradeCheck.mobile.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "@better-auth/expo": "^1.2.8",
4
4
  "@react-native-async-storage/async-storage": "2.2.0",
5
5
  "@reduxjs/toolkit": "^2.11.1",
6
- "@terreno/ui": "0.11.7",
6
+ "@terreno/ui": "0.11.9",
7
7
  "async-mutex": "^0.5.0",
8
8
  "axios": "^1.13.2",
9
9
  "axios-retry": "^4.5.0",
@@ -67,5 +67,5 @@
67
67
  "test:coverage": "bun run ../scripts/check-coverage.ts"
68
68
  },
69
69
  "types": "dist/index.d.ts",
70
- "version": "0.11.7"
70
+ "version": "0.11.9"
71
71
  }
@@ -2,6 +2,9 @@ import {beforeEach, describe, expect, it} from "bun:test";
2
2
  import AsyncStorage from "@react-native-async-storage/async-storage";
3
3
  import {configureStore} from "@reduxjs/toolkit";
4
4
  import {createApi, fetchBaseQuery} from "@reduxjs/toolkit/query/react";
5
+ import {renderHook} from "@testing-library/react-native";
6
+ import React from "react";
7
+ import {Provider} from "react-redux";
5
8
 
6
9
  import {
7
10
  type EmailLoginRequest,
@@ -561,6 +564,28 @@ describe("hook wrappers", () => {
561
564
  expect(() => useSelectCurrentUserId()).toThrow();
562
565
  expect(() => useSelectIsAuthenticating()).toThrow();
563
566
  });
567
+
568
+ it("returns the current userId from auth state via useSelectCurrentUserId", () => {
569
+ const {store, authSlice} = createTestStore();
570
+ store.dispatch(authSlice.actions.setUserId({userId: "user-abc"}));
571
+ const wrapper = ({children}: {children: React.ReactNode}): React.ReactElement =>
572
+ React.createElement(Provider, {children, store});
573
+ const {result} = renderHook(() => useSelectCurrentUserId(), {wrapper});
574
+ expect(result.current).toBe("user-abc");
575
+ });
576
+
577
+ it("returns isAuthenticating from auth state via useSelectIsAuthenticating", () => {
578
+ const {store} = createTestStore();
579
+ store.dispatch({
580
+ meta: {arg: {endpointName: "emailLogin", type: "mutation"}, requestId: "hook-test"},
581
+ payload: undefined,
582
+ type: "terreno-rtk/executeMutation/pending",
583
+ });
584
+ const wrapper = ({children}: {children: React.ReactNode}): React.ReactElement =>
585
+ React.createElement(Provider, {children, store});
586
+ const {result} = renderHook(() => useSelectIsAuthenticating(), {wrapper});
587
+ expect(result.current).toBe(true);
588
+ });
564
589
  });
565
590
 
566
591
  describe("getAuthToken", () => {
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Isolated tests for buildNumber.ts paths that require mock.module.
3
+ *
4
+ * These live in isolated/ so that mock.module calls do not interfere
5
+ * with coverage tracking in the main buildNumber.test.ts file.
6
+ */
7
+ import {describe, expect, it, mock} from "bun:test";
8
+
9
+ describe("resolveBuildNumber catch path", () => {
10
+ it("returns undefined when execSync throws (no git available)", async () => {
11
+ const originalEnvValue = process.env.EXPO_PUBLIC_BUILD_NUMBER;
12
+ delete process.env.EXPO_PUBLIC_BUILD_NUMBER;
13
+ mock.module("node:child_process", () => ({
14
+ execSync: (): never => {
15
+ throw new Error("git command not found");
16
+ },
17
+ }));
18
+ try {
19
+ const testId = `${Date.now()}-${Math.random()}`;
20
+ const loaded = (await import(
21
+ `../buildNumber?case=${testId}`
22
+ )) as typeof import("../buildNumber");
23
+ const result = loaded.resolveBuildNumber();
24
+ expect(result).toBeUndefined();
25
+ } finally {
26
+ if (originalEnvValue !== undefined) {
27
+ process.env.EXPO_PUBLIC_BUILD_NUMBER = originalEnvValue;
28
+ }
29
+ }
30
+ });
31
+ });
@@ -172,4 +172,30 @@ describe("useUpgradeCheck (mobile)", () => {
172
172
  );
173
173
  expect(noUrlWarn).toBeDefined();
174
174
  });
175
+
176
+ it("onUpdate logs a warning when Linking.openURL rejects", async () => {
177
+ const openError = new Error("link failed");
178
+ mockOpenURL.mockImplementation(() => Promise.reject(openError));
179
+
180
+ const {result} = renderHook(() => useUpgradeCheck());
181
+
182
+ await act(async () => {
183
+ await flushPromises();
184
+ });
185
+
186
+ await waitFor(() => {
187
+ expect(result.current.canUpdate).toBe(true);
188
+ });
189
+
190
+ await act(async () => {
191
+ result.current.onUpdate();
192
+ await flushPromises();
193
+ });
194
+
195
+ expect(mockOpenURL).toHaveBeenCalledWith("https://example.com/update");
196
+ const failureWarn = warnCalls.find(
197
+ (args) => typeof args[0] === "string" && args[0].includes("Failed to open update URL")
198
+ );
199
+ expect(failureWarn).toBeDefined();
200
+ });
175
201
  });
@@ -0,0 +1,213 @@
1
+ import {afterEach, beforeEach, describe, expect, it, mock} from "bun:test";
2
+ import {act, renderHook, waitFor} from "@testing-library/react-native";
3
+
4
+ // ---------------------------------------------------------------------------
5
+ // Mutable refs
6
+ // ---------------------------------------------------------------------------
7
+ let mockBuildNumber: number | undefined = 42;
8
+
9
+ interface MockVersionCheckResponse {
10
+ message?: string;
11
+ status: "ok" | "warning" | "required";
12
+ updateUrl?: string;
13
+ }
14
+ const mockUnwrap = mock((): Promise<MockVersionCheckResponse> => Promise.resolve({status: "ok"}));
15
+ const mockTrigger = mock((..._args: unknown[]) => ({unwrap: mockUnwrap}));
16
+
17
+ mock.module("./emptyApi", () => ({
18
+ useLazyGetVersionCheckQuery: () => [mockTrigger],
19
+ }));
20
+
21
+ // IsWeb is false to exercise native code paths
22
+ mock.module("./platform", () => ({
23
+ IsWeb: false,
24
+ }));
25
+
26
+ let appStateListeners: Array<(state: string) => void> = [];
27
+ const mockRemove = mock(() => {});
28
+ const mockAddEventListener = mock((_event: string, handler: (state: string) => void) => {
29
+ appStateListeners.push(handler);
30
+ return {remove: mockRemove};
31
+ });
32
+
33
+ const mockOpenURL = mock(() => Promise.resolve(true));
34
+
35
+ mock.module("react-native", () => ({
36
+ AppState: {
37
+ addEventListener: mockAddEventListener,
38
+ currentState: "active",
39
+ },
40
+ Linking: {openURL: mockOpenURL},
41
+ Platform: {OS: "ios"},
42
+ StyleSheet: {create: (s: unknown) => s},
43
+ }));
44
+
45
+ mock.module("expo-constants", () => ({
46
+ default: {
47
+ get expoConfig() {
48
+ return {extra: {buildNumber: mockBuildNumber}};
49
+ },
50
+ },
51
+ }));
52
+
53
+ // ---------------------------------------------------------------------------
54
+ // Timer mocks
55
+ // ---------------------------------------------------------------------------
56
+ const originalSetInterval = globalThis.setInterval;
57
+ const originalClearInterval = globalThis.clearInterval;
58
+ let intervalIdCounter = 0;
59
+ const mockSetInterval = mock((_cb: () => void, _ms: number) => {
60
+ return ++intervalIdCounter as unknown as ReturnType<typeof setInterval>;
61
+ });
62
+ const mockClearInterval = mock((_id: unknown) => {});
63
+
64
+ // ---------------------------------------------------------------------------
65
+ // Console capture
66
+ // ---------------------------------------------------------------------------
67
+ const warnCalls: unknown[][] = [];
68
+ const originalDebug = console.debug;
69
+ const originalWarn = console.warn;
70
+
71
+ import {useUpgradeCheck} from "./useUpgradeCheck";
72
+
73
+ const flushPromises = (): Promise<void> => new Promise((r) => setTimeout(r, 0));
74
+
75
+ beforeEach(() => {
76
+ mockBuildNumber = 42;
77
+ appStateListeners = [];
78
+
79
+ mockUnwrap.mockClear();
80
+ mockUnwrap.mockImplementation(() => Promise.resolve({status: "ok" as const}));
81
+ mockTrigger.mockClear();
82
+ mockTrigger.mockImplementation((..._args: unknown[]) => ({unwrap: mockUnwrap}));
83
+ mockRemove.mockClear();
84
+ mockAddEventListener.mockClear();
85
+ mockAddEventListener.mockImplementation((_event: string, handler: (state: string) => void) => {
86
+ appStateListeners.push(handler);
87
+ return {remove: mockRemove};
88
+ });
89
+ mockOpenURL.mockClear();
90
+ mockOpenURL.mockImplementation(() => Promise.resolve(true));
91
+
92
+ globalThis.setInterval = mockSetInterval as unknown as typeof setInterval;
93
+ globalThis.clearInterval = mockClearInterval as unknown as typeof clearInterval;
94
+ mockSetInterval.mockClear();
95
+ mockClearInterval.mockClear();
96
+
97
+ warnCalls.length = 0;
98
+ console.debug = () => {};
99
+ console.warn = (...args: unknown[]): void => {
100
+ warnCalls.push(args);
101
+ };
102
+ });
103
+
104
+ afterEach(() => {
105
+ console.debug = originalDebug;
106
+ console.warn = originalWarn;
107
+ globalThis.setInterval = originalSetInterval;
108
+ globalThis.clearInterval = originalClearInterval;
109
+ });
110
+
111
+ describe("useUpgradeCheck (mobile)", () => {
112
+ describe("onUpdate", () => {
113
+ it("calls Linking.openURL when updateUrl is available", async () => {
114
+ mockUnwrap.mockImplementation(() =>
115
+ Promise.resolve({
116
+ status: "warning" as const,
117
+ updateUrl: "https://apps.apple.com/app/123",
118
+ })
119
+ );
120
+ const {result} = renderHook(() => useUpgradeCheck());
121
+
122
+ await act(async () => {
123
+ await flushPromises();
124
+ });
125
+
126
+ await waitFor(() => {
127
+ expect(result.current.isWarning).toBe(true);
128
+ });
129
+
130
+ act(() => {
131
+ result.current.onUpdate();
132
+ });
133
+
134
+ expect(mockOpenURL).toHaveBeenCalledWith("https://apps.apple.com/app/123");
135
+ });
136
+
137
+ it("logs warning when no updateUrl is available on mobile", async () => {
138
+ mockUnwrap.mockImplementation(() => Promise.resolve({status: "warning" as const}));
139
+ const {result} = renderHook(() => useUpgradeCheck());
140
+
141
+ await act(async () => {
142
+ await flushPromises();
143
+ });
144
+
145
+ await waitFor(() => {
146
+ expect(result.current.isWarning).toBe(true);
147
+ });
148
+
149
+ act(() => {
150
+ result.current.onUpdate();
151
+ });
152
+
153
+ const noUrlWarn = warnCalls.find(
154
+ (args) => typeof args[0] === "string" && args[0].includes("no update URL")
155
+ );
156
+ expect(noUrlWarn).toBeDefined();
157
+ });
158
+
159
+ it("logs warning when Linking.openURL rejects", async () => {
160
+ mockOpenURL.mockImplementation(() => Promise.reject(new Error("Cannot open URL")));
161
+ mockUnwrap.mockImplementation(() =>
162
+ Promise.resolve({
163
+ status: "warning" as const,
164
+ updateUrl: "https://apps.apple.com/app/123",
165
+ })
166
+ );
167
+ const {result} = renderHook(() => useUpgradeCheck());
168
+
169
+ await act(async () => {
170
+ await flushPromises();
171
+ });
172
+
173
+ await waitFor(() => {
174
+ expect(result.current.isWarning).toBe(true);
175
+ });
176
+
177
+ await act(async () => {
178
+ result.current.onUpdate();
179
+ await flushPromises();
180
+ });
181
+
182
+ const failWarn = warnCalls.find(
183
+ (args) => typeof args[0] === "string" && args[0].includes("Failed to open update URL")
184
+ );
185
+ expect(failWarn).toBeDefined();
186
+ });
187
+ });
188
+
189
+ describe("canUpdate", () => {
190
+ it("is false on mobile when updateUrl is not set", () => {
191
+ const {result} = renderHook(() => useUpgradeCheck());
192
+ expect(result.current.canUpdate).toBe(false);
193
+ });
194
+
195
+ it("is true on mobile when updateUrl is set", async () => {
196
+ mockUnwrap.mockImplementation(() =>
197
+ Promise.resolve({
198
+ status: "warning" as const,
199
+ updateUrl: "https://apps.apple.com/app/123",
200
+ })
201
+ );
202
+ const {result} = renderHook(() => useUpgradeCheck());
203
+
204
+ await act(async () => {
205
+ await flushPromises();
206
+ });
207
+
208
+ await waitFor(() => {
209
+ expect(result.current.canUpdate).toBe(true);
210
+ });
211
+ });
212
+ });
213
+ });