@devvit/test 0.12.6-next-2025-12-09-22-01-39-77cc3d62a.0 → 0.12.6-next-2025-12-10-15-48-50-47f19f303.0
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devvit/test",
|
|
3
|
-
"version": "0.12.6-next-2025-12-
|
|
3
|
+
"version": "0.12.6-next-2025-12-10-15-48-50-47f19f303.0",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -35,11 +35,12 @@
|
|
|
35
35
|
"test:unit-with-coverage": "vitest run --coverage"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@devvit/media": "0.12.6-next-2025-12-
|
|
39
|
-
"@devvit/protos": "0.12.6-next-2025-12-
|
|
40
|
-
"@devvit/
|
|
41
|
-
"@devvit/
|
|
42
|
-
"@devvit/
|
|
38
|
+
"@devvit/media": "0.12.6-next-2025-12-10-15-48-50-47f19f303.0",
|
|
39
|
+
"@devvit/protos": "0.12.6-next-2025-12-10-15-48-50-47f19f303.0",
|
|
40
|
+
"@devvit/reddit": "0.12.6-next-2025-12-10-15-48-50-47f19f303.0",
|
|
41
|
+
"@devvit/redis": "0.12.6-next-2025-12-10-15-48-50-47f19f303.0",
|
|
42
|
+
"@devvit/server": "0.12.6-next-2025-12-10-15-48-50-47f19f303.0",
|
|
43
|
+
"@devvit/shared-types": "0.12.6-next-2025-12-10-15-48-50-47f19f303.0",
|
|
43
44
|
"ioredis": "5.7.0",
|
|
44
45
|
"redis-memory-server": "0.12.1"
|
|
45
46
|
},
|
|
@@ -47,11 +48,11 @@
|
|
|
47
48
|
"vitest": "*"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
|
-
"@devvit/repo-tools": "0.12.6-next-2025-12-
|
|
51
|
-
"@devvit/tsconfig": "0.12.6-next-2025-12-
|
|
51
|
+
"@devvit/repo-tools": "0.12.6-next-2025-12-10-15-48-50-47f19f303.0",
|
|
52
|
+
"@devvit/tsconfig": "0.12.6-next-2025-12-10-15-48-50-47f19f303.0",
|
|
52
53
|
"eslint": "9.11.1",
|
|
53
54
|
"typescript": "5.8.3",
|
|
54
55
|
"vitest": "1.6.1"
|
|
55
56
|
},
|
|
56
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "19c1429865d75355371655e3479f113df0dfef6b"
|
|
57
58
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import '@devvit/shared-types/polyfill/fetch.polyfill.js';
|
|
2
2
|
import { MediaMock } from '@devvit/media/test';
|
|
3
|
+
import { RedditPluginMock } from '@devvit/reddit/test';
|
|
3
4
|
import { RedisMock } from '@devvit/redis/test';
|
|
4
5
|
import type { Config } from '@devvit/shared-types/Config.js';
|
|
5
6
|
import { Header } from '@devvit/shared-types/Header.js';
|
|
@@ -53,6 +54,7 @@ export type DevvitFixtures = {
|
|
|
53
54
|
media: MediaMock;
|
|
54
55
|
redis: RedisMock;
|
|
55
56
|
http: HTTPMock;
|
|
57
|
+
reddit: RedditPluginMock;
|
|
56
58
|
};
|
|
57
59
|
};
|
|
58
60
|
export type DevvitTestConfig = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devvitTest.d.ts","sourceRoot":"","sources":["../../../src/server/vitest/devvitTest.ts"],"names":[],"mappings":"AAAA,OAAO,iDAAiD,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAMhF,OAAO,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,QAAQ,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAKrD,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE;SAAG,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM;KAAE,CAAC;IAEtC;;;OAGG;IACH,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IAE9E;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,EAAE,EAAE,CAAC;IAEX;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,EAAE,EAAE,CAAC;IAEhB;;;OAGG;IACH,KAAK,EAAE;QACL,KAAK,EAAE,SAAS,CAAC;QACjB,KAAK,EAAE,SAAS,CAAC;QACjB,IAAI,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"devvitTest.d.ts","sourceRoot":"","sources":["../../../src/server/vitest/devvitTest.ts"],"names":[],"mappings":"AAAA,OAAO,iDAAiD,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAMhF,OAAO,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,QAAQ,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAKrD,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE;SAAG,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM;KAAE,CAAC;IAEtC;;;OAGG;IACH,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IAE9E;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,EAAE,EAAE,CAAC;IAEX;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,EAAE,EAAE,CAAC;IAEhB;;;OAGG;IACH,KAAK,EAAE;QACL,KAAK,EAAE,SAAS,CAAC;QACjB,KAAK,EAAE,SAAS,CAAC;QACjB,IAAI,EAAE,QAAQ,CAAC;QACf,MAAM,EAAE,gBAAgB,CAAC;KAC1B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,CAAC;IAEZ;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IAE/E;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAiJF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAQ,gBAAqB,KAAG,OAAO,CAAC,cAAc,CAEtF,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import '@devvit/shared-types/polyfill/fetch.polyfill.js';
|
|
2
2
|
import { MediaMock } from '@devvit/media/test';
|
|
3
|
-
import { HTTPDefinition } from '@devvit/protos';
|
|
4
|
-
import { MediaServiceDefinition } from '@devvit/protos/types
|
|
3
|
+
import { HTTPDefinition } from '@devvit/protos/types/devvit/plugin/http/http.js';
|
|
4
|
+
import { MediaServiceDefinition } from '@devvit/protos/types/devvit/plugin/media/media.js';
|
|
5
5
|
import { RedisAPIDefinition } from '@devvit/protos/types/devvit/plugin/redis/redisapi.js';
|
|
6
|
+
import { RedditPluginMock } from '@devvit/reddit/test';
|
|
6
7
|
import { RedisMock } from '@devvit/redis/test';
|
|
7
8
|
import { Context, runWithContext } from '@devvit/server';
|
|
8
9
|
import { Header } from '@devvit/shared-types/Header.js';
|
|
@@ -89,11 +90,16 @@ const setup = (config) => {
|
|
|
89
90
|
const mediaMock = new MediaMock();
|
|
90
91
|
const redisMock = new RedisMock();
|
|
91
92
|
const httpMock = new HTTPMock();
|
|
93
|
+
const redditMock = new RedditPluginMock();
|
|
94
|
+
// Seed default context data so helpers like getCurrentUser/subreddit work.
|
|
95
|
+
redditMock.addUser({ id: userId, name: username });
|
|
96
|
+
redditMock.addSubreddit({ id: subredditId, displayName: subredditName, title: subredditName });
|
|
92
97
|
const cfg = makeConfig({
|
|
93
98
|
plugins: {
|
|
94
99
|
[MediaServiceDefinition.fullName]: mediaMock,
|
|
95
100
|
[RedisAPIDefinition.fullName]: redisMock,
|
|
96
101
|
[HTTPDefinition.fullName]: httpMock,
|
|
102
|
+
...redditMock.getPluginRegistrations(),
|
|
97
103
|
},
|
|
98
104
|
});
|
|
99
105
|
const contextAppConfig = appConfig ?? getDefaultAppConfig();
|
|
@@ -110,6 +116,7 @@ const setup = (config) => {
|
|
|
110
116
|
media: mediaMock,
|
|
111
117
|
redis: redisMock,
|
|
112
118
|
http: httpMock,
|
|
119
|
+
reddit: redditMock,
|
|
113
120
|
},
|
|
114
121
|
};
|
|
115
122
|
return { reqCtx, fixtures, testContext: { config: cfg, appConfig: contextAppConfig } };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devvitTest.reddit.test.d.ts","sourceRoot":"","sources":["../../../src/server/vitest/devvitTest.reddit.test.ts"],"names":[],"mappings":""}
|