Skip to content

Commit 660663d

Browse files
committed
fix: resolve test failures and version compatibility issues
1 parent 8e0b7fc commit 660663d

File tree

6 files changed

+58
-55
lines changed

6 files changed

+58
-55
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
"@semantic-release/npm": "^12.0.1",
6262
"@semantic-release/release-notes-generator": "^14.0.3",
6363
"@types/node": "^22.13.2",
64-
"@vitest/coverage-v8": "^3.2.1",
64+
"@vitest/coverage-v8": "^2.1.8",
6565
"semantic-release": "^24.2.5",
6666
"tsx": "^4.19.2",
6767
"typescript": "^5.7.3",

src/tools/retrieve.test.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,14 @@ import { getArchivedUrl } from './retrieve.js';
33
import * as httpModule from '../utils/http.js';
44
import * as rateLimitModule from '../utils/rate-limit.js';
55

6-
vi.mock('../utils/http.js');
6+
vi.mock('../utils/http.js', async () => {
7+
const actual = await vi.importActual<typeof import('../utils/http.js')>('../utils/http.js');
8+
return {
9+
...actual,
10+
fetchWithTimeout: vi.fn(),
11+
parseJsonResponse: vi.fn(),
12+
};
13+
});
714
vi.mock('../utils/rate-limit.js');
815

916
describe('getArchivedUrl', () => {
@@ -89,7 +96,7 @@ describe('getArchivedUrl', () => {
8996

9097
expect(result.success).toBe(true);
9198
expect(result.available).toBe(false);
92-
expect(result.archivedUrl).toBe('https://web.archive.org/web/20231225120000/https://example.com');
99+
expect(result.archivedUrl).toBe('https://web.archive.org/web/20231225120000/https://example.com/');
93100
});
94101

95102
it('should handle HTTP errors', async () => {

src/tools/save.test.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,14 @@ import { saveUrl } from './save.js';
33
import * as httpModule from '../utils/http.js';
44
import * as rateLimitModule from '../utils/rate-limit.js';
55

6-
vi.mock('../utils/http.js');
6+
vi.mock('../utils/http.js', async () => {
7+
const actual = await vi.importActual<typeof import('../utils/http.js')>('../utils/http.js');
8+
return {
9+
...actual,
10+
fetchWithTimeout: vi.fn(),
11+
parseJsonResponse: vi.fn(),
12+
};
13+
});
714
vi.mock('../utils/rate-limit.js');
815

916
describe('saveUrl', () => {
@@ -42,7 +49,7 @@ describe('saveUrl', () => {
4249
const result = await saveUrl({ url: 'https://example.com' });
4350

4451
expect(result.success).toBe(false);
45-
expect(result.message).toContain('Rate limit exceeded');
52+
expect(result.message).toBe('Rate limit exceeded. Please try again later.');
4653
});
4754

4855
it('should handle invalid URLs', async () => {

src/tools/search.test.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,14 @@ import { searchArchives } from './search.js';
33
import * as httpModule from '../utils/http.js';
44
import * as rateLimitModule from '../utils/rate-limit.js';
55

6-
vi.mock('../utils/http.js');
6+
vi.mock('../utils/http.js', async () => {
7+
const actual = await vi.importActual<typeof import('../utils/http.js')>('../utils/http.js');
8+
return {
9+
...actual,
10+
fetchWithTimeout: vi.fn(),
11+
parseJsonResponse: vi.fn(),
12+
};
13+
});
714
vi.mock('../utils/rate-limit.js');
815

916
describe('searchArchives', () => {

src/tools/status.test.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,14 @@ import { checkArchiveStatus } from './status.js';
33
import * as httpModule from '../utils/http.js';
44
import * as rateLimitModule from '../utils/rate-limit.js';
55

6-
vi.mock('../utils/http.js');
6+
vi.mock('../utils/http.js', async () => {
7+
const actual = await vi.importActual<typeof import('../utils/http.js')>('../utils/http.js');
8+
return {
9+
...actual,
10+
fetchWithTimeout: vi.fn(),
11+
parseJsonResponse: vi.fn(),
12+
};
13+
});
714
vi.mock('../utils/rate-limit.js');
815

916
describe('checkArchiveStatus', () => {
@@ -47,8 +54,8 @@ describe('checkArchiveStatus', () => {
4754
expect(result.lastCapture).toBe('2023-12-25');
4855
expect(result.totalCaptures).toBe(500);
4956
expect(result.yearlyCaptures).toEqual({
50-
'2023': 930,
51-
'2022': 405
57+
'2023': 780,
58+
'2022': 390
5259
});
5360
});
5461

@@ -118,6 +125,7 @@ describe('checkArchiveStatus', () => {
118125
expect(result.success).toBe(true);
119126
expect(result.isArchived).toBe(false);
120127
expect(result.totalCaptures).toBe(0);
128+
expect(result.message).toContain('has not been archived');
121129
});
122130

123131
it('should handle other HTTP errors', async () => {

yarn.lock

Lines changed: 20 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ __metadata:
6161
languageName: node
6262
linkType: hard
6363

64-
"@bcoe/v8-coverage@npm:^1.0.2":
65-
version: 1.0.2
66-
resolution: "@bcoe/v8-coverage@npm:1.0.2"
67-
checksum: 10c0/1eb1dc93cc17fb7abdcef21a6e7b867d6aa99a7ec88ec8207402b23d9083ab22a8011213f04b2cf26d535f1d22dc26139b7929e6c2134c254bd1e14ba5e678c3
64+
"@bcoe/v8-coverage@npm:^0.2.3":
65+
version: 0.2.3
66+
resolution: "@bcoe/v8-coverage@npm:0.2.3"
67+
checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52
6868
languageName: node
6969
linkType: hard
7070

@@ -671,7 +671,7 @@ __metadata:
671671
languageName: node
672672
linkType: hard
673673

674-
"@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25":
674+
"@jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24":
675675
version: 0.3.25
676676
resolution: "@jridgewell/trace-mapping@npm:0.3.25"
677677
dependencies:
@@ -1490,30 +1490,29 @@ __metadata:
14901490
languageName: node
14911491
linkType: hard
14921492

1493-
"@vitest/coverage-v8@npm:^3.2.1":
1494-
version: 3.2.1
1495-
resolution: "@vitest/coverage-v8@npm:3.2.1"
1493+
"@vitest/coverage-v8@npm:^2.1.8":
1494+
version: 2.1.9
1495+
resolution: "@vitest/coverage-v8@npm:2.1.9"
14961496
dependencies:
14971497
"@ampproject/remapping": "npm:^2.3.0"
1498-
"@bcoe/v8-coverage": "npm:^1.0.2"
1499-
ast-v8-to-istanbul: "npm:^0.3.3"
1500-
debug: "npm:^4.4.1"
1498+
"@bcoe/v8-coverage": "npm:^0.2.3"
1499+
debug: "npm:^4.3.7"
15011500
istanbul-lib-coverage: "npm:^3.2.2"
15021501
istanbul-lib-report: "npm:^3.0.1"
15031502
istanbul-lib-source-maps: "npm:^5.0.6"
15041503
istanbul-reports: "npm:^3.1.7"
1505-
magic-string: "npm:^0.30.17"
1504+
magic-string: "npm:^0.30.12"
15061505
magicast: "npm:^0.3.5"
1507-
std-env: "npm:^3.9.0"
1506+
std-env: "npm:^3.8.0"
15081507
test-exclude: "npm:^7.0.1"
1509-
tinyrainbow: "npm:^2.0.0"
1508+
tinyrainbow: "npm:^1.2.0"
15101509
peerDependencies:
1511-
"@vitest/browser": 3.2.1
1512-
vitest: 3.2.1
1510+
"@vitest/browser": 2.1.9
1511+
vitest: 2.1.9
15131512
peerDependenciesMeta:
15141513
"@vitest/browser":
15151514
optional: true
1516-
checksum: 10c0/8cce5f33a8e677ff98ac0404b87254b88dffa1b9af83544869172ac1f50e2c2589e923539f5dd048cb6dcd0d42b995a7e93d55048302da131ad0f0934b68f727
1515+
checksum: 10c0/ccf5871954a630453af9393e84ff40a0f8a4515e988ea32c7ebac5db7c79f17535a12c1c2567cbb78ea01a1eb99abdde94e297f6b6ccd5f7f7fc9b8b01c5963c
15171516
languageName: node
15181517
linkType: hard
15191518

@@ -1775,17 +1774,6 @@ __metadata:
17751774
languageName: node
17761775
linkType: hard
17771776

1778-
"ast-v8-to-istanbul@npm:^0.3.3":
1779-
version: 0.3.3
1780-
resolution: "ast-v8-to-istanbul@npm:0.3.3"
1781-
dependencies:
1782-
"@jridgewell/trace-mapping": "npm:^0.3.25"
1783-
estree-walker: "npm:^3.0.3"
1784-
js-tokens: "npm:^9.0.1"
1785-
checksum: 10c0/ffc39bc3ab4b8c1f7aea945960ce6b1e518bab3da7c800277eab2da07d397eeae4a2cb8a5a5f817225646c8ea495c1e4434fbe082c84bae8042abddef53f50b2
1786-
languageName: node
1787-
linkType: hard
1788-
17891777
"balanced-match@npm:^1.0.0":
17901778
version: 1.0.2
17911779
resolution: "balanced-match@npm:1.0.2"
@@ -2344,7 +2332,7 @@ __metadata:
23442332
languageName: node
23452333
linkType: hard
23462334

2347-
"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.1, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:^4.4.0, debug@npm:^4.4.1":
2335+
"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.1, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:^4.4.0":
23482336
version: 4.4.1
23492337
resolution: "debug@npm:4.4.1"
23502338
dependencies:
@@ -3813,13 +3801,6 @@ __metadata:
38133801
languageName: node
38143802
linkType: hard
38153803

3816-
"js-tokens@npm:^9.0.1":
3817-
version: 9.0.1
3818-
resolution: "js-tokens@npm:9.0.1"
3819-
checksum: 10c0/68dcab8f233dde211a6b5fd98079783cbcd04b53617c1250e3553ee16ab3e6134f5e65478e41d82f6d351a052a63d71024553933808570f04dbf828d7921e80e
3820-
languageName: node
3821-
linkType: hard
3822-
38233804
"js-yaml@npm:^4.1.0":
38243805
version: 4.1.0
38253806
resolution: "js-yaml@npm:4.1.0"
@@ -4204,7 +4185,7 @@ __metadata:
42044185
languageName: node
42054186
linkType: hard
42064187

4207-
"magic-string@npm:^0.30.12, magic-string@npm:^0.30.17":
4188+
"magic-string@npm:^0.30.12":
42084189
version: 0.30.17
42094190
resolution: "magic-string@npm:0.30.17"
42104191
dependencies:
@@ -4299,7 +4280,7 @@ __metadata:
42994280
"@semantic-release/npm": "npm:^12.0.1"
43004281
"@semantic-release/release-notes-generator": "npm:^14.0.3"
43014282
"@types/node": "npm:^22.13.2"
4302-
"@vitest/coverage-v8": "npm:^3.2.1"
4283+
"@vitest/coverage-v8": "npm:^2.1.8"
43034284
semantic-release: "npm:^24.2.5"
43044285
tsx: "npm:^4.19.2"
43054286
typescript: "npm:^5.7.3"
@@ -6049,7 +6030,7 @@ __metadata:
60496030
languageName: node
60506031
linkType: hard
60516032

6052-
"std-env@npm:^3.8.0, std-env@npm:^3.9.0":
6033+
"std-env@npm:^3.8.0":
60536034
version: 3.9.0
60546035
resolution: "std-env@npm:3.9.0"
60556036
checksum: 10c0/4a6f9218aef3f41046c3c7ecf1f98df00b30a07f4f35c6d47b28329bc2531eef820828951c7d7b39a1c5eb19ad8a46e3ddfc7deb28f0a2f3ceebee11bab7ba50
@@ -6363,13 +6344,6 @@ __metadata:
63636344
languageName: node
63646345
linkType: hard
63656346

6366-
"tinyrainbow@npm:^2.0.0":
6367-
version: 2.0.0
6368-
resolution: "tinyrainbow@npm:2.0.0"
6369-
checksum: 10c0/c83c52bef4e0ae7fb8ec6a722f70b5b6fa8d8be1c85792e829f56c0e1be94ab70b293c032dc5048d4d37cfe678f1f5babb04bdc65fd123098800148ca989184f
6370-
languageName: node
6371-
linkType: hard
6372-
63736347
"tinyspy@npm:^3.0.2":
63746348
version: 3.0.2
63756349
resolution: "tinyspy@npm:3.0.2"

0 commit comments

Comments
 (0)