@devvit/test 0.12.6-next-2025-12-05-20-00-45-8a5827c28.0 → 0.12.6-next-2025-12-08-17-13-26-da899ec9e.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-05-20-00-45-8a5827c28.0",
3
+ "version": "0.12.6-next-2025-12-08-17-13-26-da899ec9e.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,20 +35,23 @@
35
35
  "test:unit-with-coverage": "vitest run --coverage"
36
36
  },
37
37
  "dependencies": {
38
- "@devvit/media": "0.12.6-next-2025-12-05-20-00-45-8a5827c28.0",
39
- "@devvit/protos": "0.12.6-next-2025-12-05-20-00-45-8a5827c28.0",
40
- "@devvit/server": "0.12.6-next-2025-12-05-20-00-45-8a5827c28.0",
41
- "@devvit/shared-types": "0.12.6-next-2025-12-05-20-00-45-8a5827c28.0"
38
+ "@devvit/media": "0.12.6-next-2025-12-08-17-13-26-da899ec9e.0",
39
+ "@devvit/protos": "0.12.6-next-2025-12-08-17-13-26-da899ec9e.0",
40
+ "@devvit/redis": "0.12.6-next-2025-12-08-17-13-26-da899ec9e.0",
41
+ "@devvit/server": "0.12.6-next-2025-12-08-17-13-26-da899ec9e.0",
42
+ "@devvit/shared-types": "0.12.6-next-2025-12-08-17-13-26-da899ec9e.0",
43
+ "ioredis": "5.7.0",
44
+ "redis-memory-server": "0.12.1"
42
45
  },
43
46
  "peerDependencies": {
44
47
  "vitest": "*"
45
48
  },
46
49
  "devDependencies": {
47
- "@devvit/repo-tools": "0.12.6-next-2025-12-05-20-00-45-8a5827c28.0",
48
- "@devvit/tsconfig": "0.12.6-next-2025-12-05-20-00-45-8a5827c28.0",
50
+ "@devvit/repo-tools": "0.12.6-next-2025-12-08-17-13-26-da899ec9e.0",
51
+ "@devvit/tsconfig": "0.12.6-next-2025-12-08-17-13-26-da899ec9e.0",
49
52
  "eslint": "9.11.1",
50
53
  "typescript": "5.8.3",
51
54
  "vitest": "1.6.1"
52
55
  },
53
- "gitHead": "8fe5d0140935bfdd2604f96d4404810e20f2c896"
56
+ "gitHead": "edf20dd962799ee6eeedb133ce7454a87046861e"
54
57
  }
@@ -1,4 +1,5 @@
1
1
  import { MediaMock } from '@devvit/media/test';
2
+ import { RedisMock } from '@devvit/redis/test';
2
3
  import type { Config } from '@devvit/shared-types/Config.js';
3
4
  import { Header } from '@devvit/shared-types/Header.js';
4
5
  import type { AppConfig } from '@devvit/shared-types/schemas/config-file.v1.js';
@@ -48,6 +49,7 @@ export type DevvitFixtures = {
48
49
  */
49
50
  mocks: {
50
51
  media: MediaMock;
52
+ redis: RedisMock;
51
53
  };
52
54
  };
53
55
  export type DevvitTestConfig = {
@@ -1 +1 @@
1
- {"version":3,"file":"devvitTest.d.ts","sourceRoot":"","sources":["../../../src/server/vitest/devvitTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/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;AAOpD,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;KAClB,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;AA+HF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAQ,gBAAqB,KAAG,OAAO,CAAC,cAAc,CAEtF,CAAC"}
1
+ {"version":3,"file":"devvitTest.d.ts","sourceRoot":"","sources":["../../../src/server/vitest/devvitTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/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;AAOpD,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;KAClB,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;AAmIF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAQ,gBAAqB,KAAG,OAAO,CAAC,cAAc,CAEtF,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { MediaMock } from '@devvit/media/test';
2
2
  import { MediaServiceDefinition } from '@devvit/protos/types//devvit/plugin/media/media.js';
3
+ import { RedisAPIDefinition } from '@devvit/protos/types/devvit/plugin/redis/redisapi.js';
4
+ import { RedisMock } from '@devvit/redis/test';
3
5
  import { Context, runWithContext } from '@devvit/server';
4
6
  import { Header } from '@devvit/shared-types/Header.js';
5
7
  import { getDefaultAppConfig, makeConfig, MOCK_HEADERS as headersMock, } from '@devvit/shared-types/test/index.js';
@@ -23,8 +25,9 @@ function createWrappedTestApi(target, setup) {
23
25
  if (lastFnIndex !== -1) {
24
26
  const userFn = args[lastFnIndex];
25
27
  // Wrap the user's test function
26
- args[lastFnIndex] = (...fnArgs) => {
28
+ args[lastFnIndex] = async (...fnArgs) => {
27
29
  const { reqCtx, fixtures, testContext } = setup();
30
+ await fixtures.mocks.redis.clear();
28
31
  // Heuristic to detect Vitest TestContext
29
32
  // Standard test() calls receive a single TestContext object.
30
33
  // test.each() calls receive the parameters as arguments.
@@ -76,9 +79,11 @@ const setup = (config) => {
76
79
  [Header.SubredditName]: subredditName,
77
80
  };
78
81
  const mediaMock = new MediaMock();
82
+ const redisMock = new RedisMock();
79
83
  const cfg = makeConfig({
80
84
  plugins: {
81
85
  [MediaServiceDefinition.fullName]: mediaMock,
86
+ [RedisAPIDefinition.fullName]: redisMock,
82
87
  },
83
88
  });
84
89
  const contextAppConfig = appConfig ?? getDefaultAppConfig();
@@ -93,6 +98,7 @@ const setup = (config) => {
93
98
  subredditId,
94
99
  mocks: {
95
100
  media: mediaMock,
101
+ redis: redisMock,
96
102
  },
97
103
  };
98
104
  return { reqCtx, fixtures, testContext: { config: cfg, appConfig: contextAppConfig } };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devvitTest.redis.test.d.ts","sourceRoot":"","sources":["../../../src/server/vitest/devvitTest.redis.test.ts"],"names":[],"mappings":""}