prisma-mock 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/lib/delegate.js +18 -18
- package/lib/utils/getWhereOnIds.js +23 -0
- package/package.json +12 -5
- package/lib/defaults/autoincrement.d.ts +0 -4
- package/lib/defaults/cuid.d.ts +0 -3
- package/lib/defaults/index.d.ts +0 -4
- package/lib/defaults/now.d.ts +0 -2
- package/lib/defaults/uuid.d.ts +0 -3
- package/lib/index.d.ts +0 -20
- package/lib/indexes.d.ts +0 -7
- package/lib/indexes.test.d.ts +0 -1
- package/lib/indexes.test.js +0 -193
- package/lib/utils/deepCopy.d.ts +0 -1
- package/lib/utils/deepEqual.d.ts +0 -1
- package/lib/utils/getNestedValue.d.ts +0 -1
- package/lib/utils/pad.d.ts +0 -1
- package/lib/utils/shallowCompare.d.ts +0 -5
package/lib/delegate.js
CHANGED
|
@@ -10,6 +10,7 @@ const errors_1 = require("./errors");
|
|
|
10
10
|
const fieldHelpers_1 = require("./utils/fieldHelpers");
|
|
11
11
|
const queryMatching_1 = __importDefault(require("./utils/queryMatching"));
|
|
12
12
|
const shallowCompare_1 = require("./utils/shallowCompare");
|
|
13
|
+
const getWhereOnIds_1 = __importDefault(require("./utils/getWhereOnIds"));
|
|
13
14
|
/**
|
|
14
15
|
* Creates a delegate function that handles Prisma-like operations for a specific model
|
|
15
16
|
* This is the main factory function that generates model-specific CRUD operations
|
|
@@ -600,6 +601,7 @@ indexes) => {
|
|
|
600
601
|
*/
|
|
601
602
|
const updateMany = (args) => {
|
|
602
603
|
let nbUpdated = 0;
|
|
604
|
+
const wheres = [];
|
|
603
605
|
const newItems = ref.data[prop].map((e) => {
|
|
604
606
|
if (matchFnc(args.where)(e)) {
|
|
605
607
|
let data = nestedUpdate(args, false, e);
|
|
@@ -609,6 +611,7 @@ indexes) => {
|
|
|
609
611
|
...data,
|
|
610
612
|
};
|
|
611
613
|
indexes.updateItem(prop, newItem, e);
|
|
614
|
+
wheres.push((0, getWhereOnIds_1.default)(model, newItem));
|
|
612
615
|
return newItem;
|
|
613
616
|
}
|
|
614
617
|
return e;
|
|
@@ -618,7 +621,12 @@ indexes) => {
|
|
|
618
621
|
[prop]: newItems,
|
|
619
622
|
};
|
|
620
623
|
ref.data = (0, fieldHelpers_1.removeMultiFieldIds)(model, ref.data);
|
|
621
|
-
|
|
624
|
+
const data = findMany({
|
|
625
|
+
where: {
|
|
626
|
+
OR: wheres
|
|
627
|
+
}, include: args.include
|
|
628
|
+
});
|
|
629
|
+
return { data, nbUpdated };
|
|
622
630
|
};
|
|
623
631
|
/**
|
|
624
632
|
* Creates a new record with the given data
|
|
@@ -636,23 +644,7 @@ indexes) => {
|
|
|
636
644
|
};
|
|
637
645
|
ref.data = (0, fieldHelpers_1.removeMultiFieldIds)(model, ref.data);
|
|
638
646
|
// Create where clause from unique identifier fields for index update
|
|
639
|
-
let where =
|
|
640
|
-
const fields = model.primaryKey?.fields;
|
|
641
|
-
if (!fields || fields.length === 0) {
|
|
642
|
-
for (const field of model.fields) {
|
|
643
|
-
if (field.isId) {
|
|
644
|
-
where[field.name] = d[field.name];
|
|
645
|
-
}
|
|
646
|
-
}
|
|
647
|
-
}
|
|
648
|
-
else if (fields.length > 1) {
|
|
649
|
-
for (const field of fields) {
|
|
650
|
-
where[field] = d[field];
|
|
651
|
-
}
|
|
652
|
-
where = {
|
|
653
|
-
[fields.join("_")]: where
|
|
654
|
-
};
|
|
655
|
-
}
|
|
647
|
+
let where = (0, getWhereOnIds_1.default)(model, d);
|
|
656
648
|
const item = findOne({ where, ...args });
|
|
657
649
|
indexes.updateItem(prop, item, null);
|
|
658
650
|
return item;
|
|
@@ -1078,6 +1070,10 @@ indexes) => {
|
|
|
1078
1070
|
const createdItems = createMany(args);
|
|
1079
1071
|
return { count: createdItems.length };
|
|
1080
1072
|
},
|
|
1073
|
+
createManyAndReturn: (args) => {
|
|
1074
|
+
const createdItems = createMany(args);
|
|
1075
|
+
return createdItems;
|
|
1076
|
+
},
|
|
1081
1077
|
delete: (args) => {
|
|
1082
1078
|
const item = findOne(args);
|
|
1083
1079
|
if (!item) {
|
|
@@ -1098,6 +1094,10 @@ indexes) => {
|
|
|
1098
1094
|
const { nbUpdated } = updateMany(args);
|
|
1099
1095
|
return { count: nbUpdated };
|
|
1100
1096
|
},
|
|
1097
|
+
updateManyAndReturn: (args) => {
|
|
1098
|
+
const { data, nbUpdated } = updateMany(args);
|
|
1099
|
+
return data;
|
|
1100
|
+
},
|
|
1101
1101
|
/**
|
|
1102
1102
|
* Upsert operation: update if exists, create if not
|
|
1103
1103
|
*/
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function getWhereOnIds(model, item) {
|
|
4
|
+
let where = {};
|
|
5
|
+
const fields = model.primaryKey?.fields;
|
|
6
|
+
if (!fields || fields.length === 0) {
|
|
7
|
+
for (const field of model.fields) {
|
|
8
|
+
if (field.isId) {
|
|
9
|
+
where[field.name] = item[field.name];
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
else if (fields.length > 1) {
|
|
14
|
+
for (const field of fields) {
|
|
15
|
+
where[field] = item[field];
|
|
16
|
+
}
|
|
17
|
+
where = {
|
|
18
|
+
[fields.join("_")]: where
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
return where;
|
|
22
|
+
}
|
|
23
|
+
exports.default = getWhereOnIds;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prisma-mock",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.2",
|
|
4
4
|
"description": "Mock prisma for unit testing database",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -13,28 +13,35 @@
|
|
|
13
13
|
"lib/"
|
|
14
14
|
],
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@
|
|
16
|
+
"@changesets/cli": "^2.29.5",
|
|
17
|
+
"@prisma/client": "6.11.1",
|
|
17
18
|
"@types/jest": "^27.0.2",
|
|
18
19
|
"cross-spawn": "^7.0.3",
|
|
19
20
|
"env-cmd": "^10.1.0",
|
|
20
21
|
"jest": "^27.3.1",
|
|
21
|
-
"prisma": "
|
|
22
|
+
"prisma": "6.11.1",
|
|
22
23
|
"ts-jest": "^27.0.7",
|
|
23
24
|
"typescript": "^4.4.4",
|
|
24
25
|
"uuid": "^9.0.0"
|
|
25
26
|
},
|
|
26
27
|
"scripts": {
|
|
27
28
|
"preversion": "jest && tsc",
|
|
29
|
+
"lint": "tsc --noEmit",
|
|
28
30
|
"build": "tsc",
|
|
29
31
|
"test": "jest",
|
|
30
32
|
"generate": "prisma generate",
|
|
33
|
+
"release": "yarn build && changeset publish && git push --follow-tags",
|
|
31
34
|
"watch": "tsc --watch",
|
|
32
|
-
"test:postgres": "env-cmd -e postgres jest --maxWorkers=1"
|
|
35
|
+
"test:postgres": "env-cmd -e postgres jest --maxWorkers=1",
|
|
36
|
+
"changeset": "changeset",
|
|
37
|
+
"changeset:add": "changeset add",
|
|
38
|
+
"changeset:validate:ci": "changeset status --since=origin/main --verbose"
|
|
33
39
|
},
|
|
34
40
|
"peerDependencies": {
|
|
35
41
|
"@prisma/client": "^3.5.0 || ^4.7.0 || ^5.0.0 || ^6.0.0"
|
|
36
42
|
},
|
|
37
43
|
"dependencies": {
|
|
38
44
|
"jest-mock-extended": "^3.0.6"
|
|
39
|
-
}
|
|
45
|
+
},
|
|
46
|
+
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
40
47
|
}
|
package/lib/defaults/cuid.d.ts
DELETED
package/lib/defaults/index.d.ts
DELETED
package/lib/defaults/now.d.ts
DELETED
package/lib/defaults/uuid.d.ts
DELETED
package/lib/index.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Prisma } from "@prisma/client";
|
|
2
|
-
type UnwrapPromise<P extends any> = P extends Promise<infer R> ? R : P;
|
|
3
|
-
type PrismaDelegate = {
|
|
4
|
-
findUnique: (...args: Array<any>) => Promise<any>;
|
|
5
|
-
};
|
|
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
|
-
[key: string]: any;
|
|
10
|
-
}, K extends string> = P[K] extends PrismaDelegate ? Array<Partial<UnwrapPromise<ReturnType<P[K]["findUnique"]>>>> : never;
|
|
11
|
-
export type PrismaMockData<P> = Partial<{
|
|
12
|
-
[key in IsTable<Uncapitalize<IsString<keyof P>>>]: PrismaList<P, key>;
|
|
13
|
-
}>;
|
|
14
|
-
export type MockPrismaOptions = {
|
|
15
|
-
caseInsensitive?: boolean;
|
|
16
|
-
};
|
|
17
|
-
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, options?: MockPrismaOptions) => P & {
|
|
18
|
-
$getInternalState: () => Required<Partial<{ [key in IsTable<Uncapitalize<IsString<keyof P>>>]: PrismaList<P, key>; }>>;
|
|
19
|
-
};
|
|
20
|
-
export default createPrismaMock;
|
package/lib/indexes.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Prisma } from "@prisma/client";
|
|
2
|
-
export default function createIndexes(): {
|
|
3
|
-
addIndexFieldIfNeeded: (tableName: string, field: Prisma.DMMF.Field) => void;
|
|
4
|
-
getIndexedItems: (tableName: string, where: any) => any;
|
|
5
|
-
updateItem: (tableName: string, item: any, oldItem: any | null) => void;
|
|
6
|
-
deleteItemByField: (tableName: string, field: Prisma.DMMF.Field, item: any) => void;
|
|
7
|
-
};
|
package/lib/indexes.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/lib/indexes.test.js
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// @ts-nocheck
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const indexes_1 = __importDefault(require("./indexes"));
|
|
8
|
-
test("createIndexes", () => {
|
|
9
|
-
const indexes = (0, indexes_1.default)();
|
|
10
|
-
indexes.addIndexFieldIfNeeded("User", {
|
|
11
|
-
name: "id",
|
|
12
|
-
isId: true
|
|
13
|
-
});
|
|
14
|
-
indexes.addIndexFieldIfNeeded("User", {
|
|
15
|
-
name: "account",
|
|
16
|
-
relationFromFields: ["accountId"]
|
|
17
|
-
});
|
|
18
|
-
indexes.updateItem("User", {
|
|
19
|
-
id: 1,
|
|
20
|
-
name: "Alice",
|
|
21
|
-
accountId: 1
|
|
22
|
-
});
|
|
23
|
-
const items1 = indexes.getIndexedItems("User", {
|
|
24
|
-
accountId: 1
|
|
25
|
-
});
|
|
26
|
-
expect(items1).toMatchInlineSnapshot(`
|
|
27
|
-
Array [
|
|
28
|
-
Object {
|
|
29
|
-
"accountId": 1,
|
|
30
|
-
"id": 1,
|
|
31
|
-
"name": "Alice",
|
|
32
|
-
},
|
|
33
|
-
]
|
|
34
|
-
`);
|
|
35
|
-
indexes.updateItem("User", {
|
|
36
|
-
id: 1,
|
|
37
|
-
name: "Alice 2",
|
|
38
|
-
accountId: 1
|
|
39
|
-
});
|
|
40
|
-
const items2 = indexes.getIndexedItems("User", {
|
|
41
|
-
accountId: 1
|
|
42
|
-
});
|
|
43
|
-
expect(items2).toMatchInlineSnapshot(`
|
|
44
|
-
Array [
|
|
45
|
-
Object {
|
|
46
|
-
"accountId": 1,
|
|
47
|
-
"id": 1,
|
|
48
|
-
"name": "Alice 2",
|
|
49
|
-
},
|
|
50
|
-
]
|
|
51
|
-
`);
|
|
52
|
-
});
|
|
53
|
-
test("Index should be removed when set to null", () => {
|
|
54
|
-
const indexes = (0, indexes_1.default)();
|
|
55
|
-
indexes.addIndexFieldIfNeeded("User", {
|
|
56
|
-
name: "id",
|
|
57
|
-
isId: true
|
|
58
|
-
});
|
|
59
|
-
indexes.addIndexFieldIfNeeded("User", {
|
|
60
|
-
name: "account",
|
|
61
|
-
relationFromFields: ["accountId"]
|
|
62
|
-
});
|
|
63
|
-
indexes.updateItem("User", {
|
|
64
|
-
id: 1,
|
|
65
|
-
name: "Alice",
|
|
66
|
-
accountId: 1
|
|
67
|
-
});
|
|
68
|
-
indexes.updateItem("User", {
|
|
69
|
-
id: 2,
|
|
70
|
-
name: "Piet",
|
|
71
|
-
accountId: 1
|
|
72
|
-
});
|
|
73
|
-
const items1 = indexes.getIndexedItems("User", {
|
|
74
|
-
accountId: 1
|
|
75
|
-
});
|
|
76
|
-
expect(items1).toMatchInlineSnapshot(`
|
|
77
|
-
Array [
|
|
78
|
-
Object {
|
|
79
|
-
"accountId": 1,
|
|
80
|
-
"id": 1,
|
|
81
|
-
"name": "Alice",
|
|
82
|
-
},
|
|
83
|
-
Object {
|
|
84
|
-
"accountId": 1,
|
|
85
|
-
"id": 2,
|
|
86
|
-
"name": "Piet",
|
|
87
|
-
},
|
|
88
|
-
]
|
|
89
|
-
`);
|
|
90
|
-
indexes.updateItem("User", {
|
|
91
|
-
id: 1,
|
|
92
|
-
name: "Alice",
|
|
93
|
-
accountId: null
|
|
94
|
-
}, {
|
|
95
|
-
id: 1,
|
|
96
|
-
name: "Alice",
|
|
97
|
-
accountId: 1,
|
|
98
|
-
});
|
|
99
|
-
const items2 = indexes.getIndexedItems("User", {
|
|
100
|
-
accountId: 1
|
|
101
|
-
});
|
|
102
|
-
expect(items2).toMatchInlineSnapshot(`
|
|
103
|
-
Array [
|
|
104
|
-
Object {
|
|
105
|
-
"accountId": 1,
|
|
106
|
-
"id": 2,
|
|
107
|
-
"name": "Piet",
|
|
108
|
-
},
|
|
109
|
-
]
|
|
110
|
-
`);
|
|
111
|
-
});
|
|
112
|
-
test("Should add multiple items", () => {
|
|
113
|
-
const indexes = (0, indexes_1.default)();
|
|
114
|
-
indexes.addIndexFieldIfNeeded("User", {
|
|
115
|
-
name: "id",
|
|
116
|
-
isId: true
|
|
117
|
-
});
|
|
118
|
-
indexes.addIndexFieldIfNeeded("User", {
|
|
119
|
-
name: "account",
|
|
120
|
-
relationFromFields: ["accountId"]
|
|
121
|
-
});
|
|
122
|
-
indexes.updateItem("User", {
|
|
123
|
-
id: 1,
|
|
124
|
-
name: "Alice",
|
|
125
|
-
accountId: 1
|
|
126
|
-
});
|
|
127
|
-
indexes.updateItem("User", {
|
|
128
|
-
id: 2,
|
|
129
|
-
name: "Alice 2",
|
|
130
|
-
accountId: 1
|
|
131
|
-
});
|
|
132
|
-
indexes.updateItem("User", {
|
|
133
|
-
id: 3,
|
|
134
|
-
name: "Alice 3",
|
|
135
|
-
accountId: 1
|
|
136
|
-
});
|
|
137
|
-
const items = indexes.getIndexedItems("User", {
|
|
138
|
-
accountId: 1
|
|
139
|
-
});
|
|
140
|
-
expect(items).toMatchInlineSnapshot(`
|
|
141
|
-
Array [
|
|
142
|
-
Object {
|
|
143
|
-
"accountId": 1,
|
|
144
|
-
"id": 1,
|
|
145
|
-
"name": "Alice",
|
|
146
|
-
},
|
|
147
|
-
Object {
|
|
148
|
-
"accountId": 1,
|
|
149
|
-
"id": 2,
|
|
150
|
-
"name": "Alice 2",
|
|
151
|
-
},
|
|
152
|
-
Object {
|
|
153
|
-
"accountId": 1,
|
|
154
|
-
"id": 3,
|
|
155
|
-
"name": "Alice 3",
|
|
156
|
-
},
|
|
157
|
-
]
|
|
158
|
-
`);
|
|
159
|
-
});
|
|
160
|
-
test("Should not make multiple items when has mulitple primary keys", () => {
|
|
161
|
-
const indexes = (0, indexes_1.default)();
|
|
162
|
-
indexes.addIndexFieldIfNeeded("UserAnswers", {
|
|
163
|
-
name: "answerId",
|
|
164
|
-
isId: false
|
|
165
|
-
}, true);
|
|
166
|
-
indexes.addIndexFieldIfNeeded("UserAnswers", {
|
|
167
|
-
name: "userId",
|
|
168
|
-
isId: false
|
|
169
|
-
}, true);
|
|
170
|
-
indexes.updateItem("UserAnswers", {
|
|
171
|
-
userId: 1,
|
|
172
|
-
name: "Alice",
|
|
173
|
-
accountId: 1
|
|
174
|
-
});
|
|
175
|
-
indexes.updateItem("UserAnswers", {
|
|
176
|
-
userId: 1,
|
|
177
|
-
name: "Alice 2",
|
|
178
|
-
accountId: 1
|
|
179
|
-
});
|
|
180
|
-
const items = indexes.getIndexedItems("UserAnswers", {
|
|
181
|
-
accountId: 1,
|
|
182
|
-
userId: 1,
|
|
183
|
-
});
|
|
184
|
-
expect(items).toMatchInlineSnapshot(`
|
|
185
|
-
Array [
|
|
186
|
-
Object {
|
|
187
|
-
"accountId": 1,
|
|
188
|
-
"name": "Alice 2",
|
|
189
|
-
"userId": 1,
|
|
190
|
-
},
|
|
191
|
-
]
|
|
192
|
-
`);
|
|
193
|
-
});
|
package/lib/utils/deepCopy.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function deepCopy<T>(source: T): T;
|
package/lib/utils/deepEqual.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function deepEqual(a: any, b: any): boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function getNestedValue(keys: string[], values: any): any;
|
package/lib/utils/pad.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function pad(s: string, size: number): string;
|