prisma-mock 0.1.2 → 0.1.3

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/lib/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import { Prisma } from '@prisma/client';
2
- declare type UnwrapPromise<P extends any> = P extends Promise<infer R> ? R : P;
3
- declare type PrismaDelegate = {
2
+ type UnwrapPromise<P extends any> = P extends Promise<infer R> ? R : P;
3
+ type PrismaDelegate = {
4
4
  findUnique: (...args: Array<any>) => Promise<any>;
5
5
  };
6
- declare type IsTable<S> = S extends `\$${infer fnc}` ? never : S;
7
- declare type IsString<S extends any> = S extends string ? S : never;
8
- declare type PrismaList<P extends {
6
+ type IsTable<S> = S extends `\$${infer fnc}` ? never : S;
7
+ type IsString<S extends any> = S extends string ? S : never;
8
+ type PrismaList<P extends {
9
9
  [key: string]: any;
10
10
  }, K extends string> = P[K] extends PrismaDelegate ? Array<Partial<UnwrapPromise<ReturnType<P[K]["findUnique"]>>>> : never;
11
- export declare type PrismaMockData<P> = Partial<{
11
+ export type PrismaMockData<P> = Partial<{
12
12
  [key in IsTable<Uncapitalize<IsString<keyof P>>>]: PrismaList<P, key>;
13
13
  }>;
14
- declare const createPrismaMock: <P>(data?: Partial<{ [key in IsTable<Uncapitalize<IsString<keyof P>>>]: PrismaList<P, key>; }>, datamodel?: Prisma.DMMF.Datamodel, client?: { [K in keyof P]: P[K] extends (...args: infer A) => infer B ? import("jest-mock-extended").CalledWithMock<B, A> : import("jest-mock-extended").DeepMockProxy<P[K]>; } & P) => P;
14
+ declare const createPrismaMock: <P>(data?: Partial<{ [key in IsTable<Uncapitalize<IsString<keyof P>>>]: PrismaList<P, key>; }>, datamodel?: Prisma.DMMF.Datamodel, client?: { [K in keyof P]: P[K] extends (...args: infer A) => infer B ? import("jest-mock-extended").CalledWithMock<B, A> & (P[K] extends infer T extends (...args: infer A) => infer B ? { [K_1 in keyof T]: P[K][K_1] extends (...args: infer A_1) => infer B_1 ? import("jest-mock-extended").CalledWithMock<B_1, A_1> & (P[K][K_1] extends infer T_1 extends (...args: infer A_1) => infer B_1 ? { [K_2 in keyof T_1]: P[K][K_1][K_2] extends (...args: infer A_2) => infer B_2 ? import("jest-mock-extended").CalledWithMock<B_2, A_2> & (P[K][K_1][K_2] extends infer T_2 extends (...args: infer A_2) => infer B_2 ? { [K_3 in keyof T_2]: P[K][K_1][K_2][K_3] extends (...args: infer A_3) => infer B_3 ? import("jest-mock-extended").CalledWithMock<B_3, A_3> & (P[K][K_1][K_2][K_3] extends infer T_3 extends (...args: infer A_3) => infer B_3 ? { [K_4 in keyof T_3]: P[K][K_1][K_2][K_3][K_4] extends (...args: infer A_4) => infer B_4 ? import("jest-mock-extended").CalledWithMock<B_4, A_4> & (P[K][K_1][K_2][K_3][K_4] extends infer T_4 extends (...args: infer A_4) => infer B_4 ? { [K_5 in keyof T_4]: P[K][K_1][K_2][K_3][K_4][K_5] extends (...args: infer A_5) => infer B_5 ? import("jest-mock-extended").CalledWithMock<B_5, A_5> & (P[K][K_1][K_2][K_3][K_4][K_5] extends infer T_5 extends (...args: infer A_5) => infer B_5 ? { [K_6 in keyof T_5]: P[K][K_1][K_2][K_3][K_4][K_5][K_6] extends (...args: infer A_6) => infer B_6 ? import("jest-mock-extended").CalledWithMock<B_6, A_6> & (P[K][K_1][K_2][K_3][K_4][K_5][K_6] extends infer T_6 extends (...args: infer A_6) => infer B_6 ? { [K_7 in keyof T_6]: P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] extends (...args: infer A_7) => infer B_7 ? import("jest-mock-extended").CalledWithMock<B_7, A_7> & (P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] extends infer T_7 extends (...args: infer A_7) => infer B_7 ? { [K_8 in keyof T_7]: P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] extends (...args: infer A_8) => infer B_8 ? import("jest-mock-extended").CalledWithMock<B_8, A_8> & (P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] extends infer T_8 extends (...args: infer A_8) => infer B_8 ? { [K_9 in keyof T_8]: P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] extends (...args: infer A_9) => infer B_9 ? import("jest-mock-extended").CalledWithMock<B_9, A_9> & (P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] extends infer T_9 extends (...args: infer A_9) => infer B_9 ? { [K_10 in keyof T_9]: P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9][K_10] extends (...args: infer A_10) => infer B_10 ? any : import("jest-mock-extended").DeepMockProxy<P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9][K_10]>; } : never) & P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] : import("jest-mock-extended").DeepMockProxy<P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9]>; } : never) & P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] : import("jest-mock-extended").DeepMockProxy<P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8]>; } : never) & P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] : import("jest-mock-extended").DeepMockProxy<P[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7]>; } : never) & P[K][K_1][K_2][K_3][K_4][K_5][K_6] : import("jest-mock-extended").DeepMockProxy<P[K][K_1][K_2][K_3][K_4][K_5][K_6]>; } : never) & P[K][K_1][K_2][K_3][K_4][K_5] : import("jest-mock-extended").DeepMockProxy<P[K][K_1][K_2][K_3][K_4][K_5]>; } : never) & P[K][K_1][K_2][K_3][K_4] : import("jest-mock-extended").DeepMockProxy<P[K][K_1][K_2][K_3][K_4]>; } : never) & P[K][K_1][K_2][K_3] : import("jest-mock-extended").DeepMockProxy<P[K][K_1][K_2][K_3]>; } : never) & P[K][K_1][K_2] : import("jest-mock-extended").DeepMockProxy<P[K][K_1][K_2]>; } : never) & P[K][K_1] : import("jest-mock-extended").DeepMockProxy<P[K][K_1]>; } : never) & P[K] : import("jest-mock-extended").DeepMockProxy<P[K]>; } & P) => P;
15
15
  export default createPrismaMock;
package/lib/index.js CHANGED
@@ -115,6 +115,13 @@ const createPrismaMock = (data = {}, datamodel, client = (0, jest_mock_extended_
115
115
  return row[keyToMatch] === valueToMatch;
116
116
  });
117
117
  if (!matchingRow) {
118
+ // PrismaClientKnownRequestError prototype changed in version 4.7.0
119
+ // from: constructor(message: string, code: string, clientVersion: string, meta?: any)
120
+ // to: constructor(message: string, { code, clientVersion, meta, batchRequestIdx }: KnownErrorParams)
121
+ if (runtime_1.PrismaClientKnownRequestError.length === 2) {
122
+ throw new runtime_1.PrismaClientKnownRequestError('An operation failed because it depends on one or more records that were required but not found. {cause}', { code: 'P2025', clientVersion: '1.2.3' });
123
+ }
124
+ // @ts-ignore
118
125
  throw new runtime_1.PrismaClientKnownRequestError('An operation failed because it depends on one or more records that were required but not found. {cause}', 'P2025', '1.2.3');
119
126
  }
120
127
  connectionValue = matchingRow[keyToGet];
@@ -238,7 +245,7 @@ const createPrismaMock = (data = {}, datamodel, client = (0, jest_mock_extended_
238
245
  if ((isCreating || d[field.name] === null) &&
239
246
  (d[field.name] === null || d[field.name] === undefined)) {
240
247
  if (field.hasDefaultValue) {
241
- if (typeof field.default === 'object') {
248
+ if (typeof field.default === 'object' && !Array.isArray(field.default)) {
242
249
  if (field.default.name === 'autoincrement') {
243
250
  const key = `${prop}_${field.name}`;
244
251
  let m = autoincrement === null || autoincrement === void 0 ? void 0 : autoincrement[key];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prisma-mock",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Mock prisma for unit testing database",
5
5
  "main": "lib/index.js",
6
6
  "repository": "https://github.com/demonsters/prisma-mock",
@@ -9,25 +9,22 @@
9
9
  "files": [
10
10
  "lib/"
11
11
  ],
12
- "dependencies": {
13
- "@prisma/client": "3.10.0",
14
- "@prisma/generator-helper": "^3.10.0",
15
- "@prisma/sdk": "^3.10.0"
16
- },
17
12
  "devDependencies": {
13
+ "@prisma/client": "4.7.1",
18
14
  "@types/jest": "^27.0.2",
19
15
  "jest": "^27.3.1",
20
16
  "jest-mock-extended": "^2.0.4",
21
- "prisma": "3.5.0",
17
+ "prisma": "4.7.1",
22
18
  "ts-jest": "^27.0.7",
23
19
  "typescript": "^4.4.4"
24
20
  },
25
21
  "scripts": {
26
22
  "preversion": "tsc",
27
23
  "build": "tsc",
24
+ "test": "jest",
28
25
  "watch": "tsc --watch"
29
26
  },
30
27
  "peerDependencies": {
31
- "@prisma/client": "^3.5.0"
28
+ "@prisma/client": "^3.5.0 || ^4.7.0"
32
29
  }
33
30
  }