@terreno/rtk 0.11.1 → 0.11.2
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.
- package/dist/constants.test.js +3 -52
- package/dist/constants.test.js.map +1 -1
- package/dist/isolated/constants.isolated.d.ts +2 -0
- package/dist/isolated/constants.isolated.d.ts.map +1 -0
- package/dist/isolated/constants.isolated.js +59 -0
- package/dist/isolated/constants.isolated.js.map +1 -0
- package/package.json +2 -2
- package/src/constants.test.ts +3 -55
- package/src/isolated/constants.isolated.ts +62 -0
package/dist/constants.test.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it } from "bun:test";
|
|
2
2
|
import { AUTH_DEBUG, baseTasksUrl, baseUrl, baseWebsocketsUrl, logAuth, logSocket, resolveBaseUrls, } from "./constants";
|
|
3
3
|
describe("resolveBaseUrls", () => {
|
|
4
4
|
it("treats an empty envApiUrl as unset and falls back to localhost", () => {
|
|
@@ -141,55 +141,6 @@ describe("logAuth / logSocket", () => {
|
|
|
141
141
|
expect(calls).toEqual([]);
|
|
142
142
|
});
|
|
143
143
|
});
|
|
144
|
-
|
|
145
|
-
|
|
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
|
-
}
|
|
193
|
-
});
|
|
194
|
-
});
|
|
144
|
+
// Mock.module tests (expo tunnel warning, AUTH_DEBUG) moved to
|
|
145
|
+
// src/isolated/constants.isolated.ts to avoid coverage tracking interference.
|
|
195
146
|
//# sourceMappingURL=constants.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../src/constants.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../src/constants.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.isolated.d.ts","sourceRoot":"","sources":["../../src/isolated/constants.isolated.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Isolated tests for constants.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 constants.test.ts file.
|
|
6
|
+
*/
|
|
7
|
+
import { describe, expect, it, mock } from "bun:test";
|
|
8
|
+
describe("expo tunnel warning", () => {
|
|
9
|
+
it("warns when expoGoConfig.debuggerHost contains exp.direct", async () => {
|
|
10
|
+
const errorCalls = [];
|
|
11
|
+
const originalError = console.error;
|
|
12
|
+
console.error = (...args) => {
|
|
13
|
+
errorCalls.push(args);
|
|
14
|
+
};
|
|
15
|
+
mock.module("expo-constants", () => ({
|
|
16
|
+
default: {
|
|
17
|
+
expoConfig: { extra: {} },
|
|
18
|
+
expoGoConfig: { debuggerHost: "abc.exp.direct" },
|
|
19
|
+
},
|
|
20
|
+
}));
|
|
21
|
+
try {
|
|
22
|
+
const testId = `${Date.now()}-${Math.random()}`;
|
|
23
|
+
await import(`../constants?case=${testId}`);
|
|
24
|
+
const warning = errorCalls.find((args) => args.some((v) => typeof v === "string" && v.includes("Expo Tunnel is not currently")));
|
|
25
|
+
expect(warning).toBeDefined();
|
|
26
|
+
}
|
|
27
|
+
finally {
|
|
28
|
+
console.error = originalError;
|
|
29
|
+
mock.module("expo-constants", () => ({ default: { expoConfig: { extra: {} } } }));
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
describe("AUTH_DEBUG enabled path", () => {
|
|
34
|
+
it("logs debug messages from logAuth when AUTH_DEBUG is true on module load", async () => {
|
|
35
|
+
const debugCalls = [];
|
|
36
|
+
const originalDebug = console.debug;
|
|
37
|
+
console.debug = (...args) => {
|
|
38
|
+
debugCalls.push(args);
|
|
39
|
+
};
|
|
40
|
+
mock.module("expo-constants", () => ({
|
|
41
|
+
default: { expoConfig: { extra: { AUTH_DEBUG: "true", WEBSOCKETS_DEBUG: "true" } } },
|
|
42
|
+
}));
|
|
43
|
+
try {
|
|
44
|
+
const testId = `${Date.now()}-${Math.random()}`;
|
|
45
|
+
const loaded = (await import(`../constants?case=${testId}`));
|
|
46
|
+
expect(loaded.AUTH_DEBUG).toBe(true);
|
|
47
|
+
const preLength = debugCalls.length;
|
|
48
|
+
loaded.logAuth("hello");
|
|
49
|
+
expect(debugCalls.length).toBe(preLength + 1);
|
|
50
|
+
loaded.logSocket(undefined, "ws on");
|
|
51
|
+
expect(debugCalls.some((args) => args[0] === "[websocket]" && args[1] === "ws on")).toBe(true);
|
|
52
|
+
}
|
|
53
|
+
finally {
|
|
54
|
+
console.debug = originalDebug;
|
|
55
|
+
mock.module("expo-constants", () => ({ default: { expoConfig: { extra: {} } } }));
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
//# sourceMappingURL=constants.isolated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.isolated.js","sourceRoot":"","sources":["../../src/isolated/constants.isolated.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.
|
|
6
|
+
"@terreno/ui": "0.11.2",
|
|
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.
|
|
70
|
+
"version": "0.11.2"
|
|
71
71
|
}
|
package/src/constants.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {afterEach, beforeEach, describe, expect, it
|
|
1
|
+
import {afterEach, beforeEach, describe, expect, it} from "bun:test";
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
AUTH_DEBUG,
|
|
@@ -172,57 +172,5 @@ describe("logAuth / logSocket", () => {
|
|
|
172
172
|
});
|
|
173
173
|
});
|
|
174
174
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
const errorCalls: unknown[][] = [];
|
|
178
|
-
const originalError = console.error;
|
|
179
|
-
console.error = (...args: unknown[]): void => {
|
|
180
|
-
errorCalls.push(args);
|
|
181
|
-
};
|
|
182
|
-
mock.module("expo-constants", () => ({
|
|
183
|
-
default: {
|
|
184
|
-
expoConfig: {extra: {}},
|
|
185
|
-
expoGoConfig: {debuggerHost: "abc.exp.direct"},
|
|
186
|
-
},
|
|
187
|
-
}));
|
|
188
|
-
try {
|
|
189
|
-
const testId = `${Date.now()}-${Math.random()}`;
|
|
190
|
-
await import(`./constants?case=${testId}`);
|
|
191
|
-
const warning = errorCalls.find((args) =>
|
|
192
|
-
args.some((v) => typeof v === "string" && v.includes("Expo Tunnel is not currently"))
|
|
193
|
-
);
|
|
194
|
-
expect(warning).toBeDefined();
|
|
195
|
-
} finally {
|
|
196
|
-
console.error = originalError;
|
|
197
|
-
mock.module("expo-constants", () => ({default: {expoConfig: {extra: {}}}}));
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
});
|
|
201
|
-
|
|
202
|
-
describe("AUTH_DEBUG enabled path", () => {
|
|
203
|
-
it("logs debug messages from logAuth when AUTH_DEBUG is true on module load", async () => {
|
|
204
|
-
const debugCalls: unknown[][] = [];
|
|
205
|
-
const originalDebug = console.debug;
|
|
206
|
-
console.debug = (...args: unknown[]): void => {
|
|
207
|
-
debugCalls.push(args);
|
|
208
|
-
};
|
|
209
|
-
mock.module("expo-constants", () => ({
|
|
210
|
-
default: {expoConfig: {extra: {AUTH_DEBUG: "true", WEBSOCKETS_DEBUG: "true"}}},
|
|
211
|
-
}));
|
|
212
|
-
try {
|
|
213
|
-
const testId = `${Date.now()}-${Math.random()}`;
|
|
214
|
-
const loaded = (await import(`./constants?case=${testId}`)) as typeof import("./constants");
|
|
215
|
-
expect(loaded.AUTH_DEBUG).toBe(true);
|
|
216
|
-
const preLength = debugCalls.length;
|
|
217
|
-
loaded.logAuth("hello");
|
|
218
|
-
expect(debugCalls.length).toBe(preLength + 1);
|
|
219
|
-
loaded.logSocket(undefined, "ws on");
|
|
220
|
-
expect(debugCalls.some((args) => args[0] === "[websocket]" && args[1] === "ws on")).toBe(
|
|
221
|
-
true
|
|
222
|
-
);
|
|
223
|
-
} finally {
|
|
224
|
-
console.debug = originalDebug;
|
|
225
|
-
mock.module("expo-constants", () => ({default: {expoConfig: {extra: {}}}}));
|
|
226
|
-
}
|
|
227
|
-
});
|
|
228
|
-
});
|
|
175
|
+
// Mock.module tests (expo tunnel warning, AUTH_DEBUG) moved to
|
|
176
|
+
// src/isolated/constants.isolated.ts to avoid coverage tracking interference.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Isolated tests for constants.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 constants.test.ts file.
|
|
6
|
+
*/
|
|
7
|
+
import {describe, expect, it, mock} from "bun:test";
|
|
8
|
+
|
|
9
|
+
describe("expo tunnel warning", () => {
|
|
10
|
+
it("warns when expoGoConfig.debuggerHost contains exp.direct", async () => {
|
|
11
|
+
const errorCalls: unknown[][] = [];
|
|
12
|
+
const originalError = console.error;
|
|
13
|
+
console.error = (...args: unknown[]): void => {
|
|
14
|
+
errorCalls.push(args);
|
|
15
|
+
};
|
|
16
|
+
mock.module("expo-constants", () => ({
|
|
17
|
+
default: {
|
|
18
|
+
expoConfig: {extra: {}},
|
|
19
|
+
expoGoConfig: {debuggerHost: "abc.exp.direct"},
|
|
20
|
+
},
|
|
21
|
+
}));
|
|
22
|
+
try {
|
|
23
|
+
const testId = `${Date.now()}-${Math.random()}`;
|
|
24
|
+
await import(`../constants?case=${testId}`);
|
|
25
|
+
const warning = errorCalls.find((args) =>
|
|
26
|
+
args.some((v) => typeof v === "string" && v.includes("Expo Tunnel is not currently"))
|
|
27
|
+
);
|
|
28
|
+
expect(warning).toBeDefined();
|
|
29
|
+
} finally {
|
|
30
|
+
console.error = originalError;
|
|
31
|
+
mock.module("expo-constants", () => ({default: {expoConfig: {extra: {}}}}));
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
describe("AUTH_DEBUG enabled path", () => {
|
|
37
|
+
it("logs debug messages from logAuth when AUTH_DEBUG is true on module load", async () => {
|
|
38
|
+
const debugCalls: unknown[][] = [];
|
|
39
|
+
const originalDebug = console.debug;
|
|
40
|
+
console.debug = (...args: unknown[]): void => {
|
|
41
|
+
debugCalls.push(args);
|
|
42
|
+
};
|
|
43
|
+
mock.module("expo-constants", () => ({
|
|
44
|
+
default: {expoConfig: {extra: {AUTH_DEBUG: "true", WEBSOCKETS_DEBUG: "true"}}},
|
|
45
|
+
}));
|
|
46
|
+
try {
|
|
47
|
+
const testId = `${Date.now()}-${Math.random()}`;
|
|
48
|
+
const loaded = (await import(`../constants?case=${testId}`)) as typeof import("../constants");
|
|
49
|
+
expect(loaded.AUTH_DEBUG).toBe(true);
|
|
50
|
+
const preLength = debugCalls.length;
|
|
51
|
+
loaded.logAuth("hello");
|
|
52
|
+
expect(debugCalls.length).toBe(preLength + 1);
|
|
53
|
+
loaded.logSocket(undefined, "ws on");
|
|
54
|
+
expect(debugCalls.some((args) => args[0] === "[websocket]" && args[1] === "ws on")).toBe(
|
|
55
|
+
true
|
|
56
|
+
);
|
|
57
|
+
} finally {
|
|
58
|
+
console.debug = originalDebug;
|
|
59
|
+
mock.module("expo-constants", () => ({default: {expoConfig: {extra: {}}}}));
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|