@sprucelabs/data-stores 28.1.338 → 28.1.340
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.
@@ -1,8 +1,10 @@
|
|
1
1
|
import { Database, IndexWithFilter, TestConnect } from '../types/database.types';
|
2
2
|
import { DataStore } from '../types/stores.types';
|
3
|
+
declare const methods: readonly ["assertThrowsWithInvalidConnectionString", "assertThrowsWhenCantConnect", "assertThrowsWithBadDatabaseName", "assertEmptyDatabaseReturnsEmptyArray", "assertKnowsIfConnectionClosed", "assertFindOneOnEmptyDatabaseReturnsNull", "assertCanSortDesc", "assertCanSortAsc", "assertCanSortById", "assertCanQueryWithOr", "generateIdDifferentEachTime", "assertInsertingGeneratesId", "assertCanCreateMany", "assertCanLimitResults", "assertCanCreateWithObjectField", "assertCanCountOnId", "assertCanCount", "assertThrowsWhenUpdatingRecordNotFound", "assertCanUpdate", "assertCanUpdateMany", "assertCanPushOntoArrayValue", "assertCanUpdateWithObjectField", "assertCanUpdateFieldInObjectFieldWithTargettedWhere", "assertCanSaveAndGetNullAndUndefined", "assertCanUpsertOne", "assertCanUpsertNull", "assertCanPushToArrayOnUpsert", "assertCanSyncUniqueIndexesWithFilterExpression", "assertEmptyDatabaseReturnsEmptyArray", "assertFindOneOnEmptyDatabaseReturnsNull", "assertCanLimitResults", "assertCanLimitResultsToZero", "assertCanFindWithBooleanField", "assertCanQueryByGtLtGteLteNe", "assertCanQueryPathWithDotSyntax", "assertCanReturnOnlySelectFields", "assertCanSearchByRegex", "assertCanFindWithNe", "assertCanFindWithIn", "assertCanDeleteRecord", "assertCanDeleteOne", "assertHasNoUniqueIndexToStart", "assertCanCreateUniqueIndex", "assertCanCreateMultiFieldUniqueIndex", "assertCantCreateUniqueIndexTwice", "assertCanDropUniqueIndex", "assertCanDropCompoundUniqueIndex", "assertCantDropUniqueIndexThatDoesntExist", "assertCantDropIndexWhenNoIndexExists", "assertCantDropCompoundUniqueIndexThatDoesntExist", "assertSyncingUniqueIndexsAddsMissingIndexes", "assertSyncingUniqueIndexsSkipsExistingIndexs", "assertSyncingUniqueIndexesRemovesExtraIndexes", "assertSyncingUniqueIndexesIsRaceProof", "assertSyncingIndexesDoesNotAddAndRemove", "assertUniqueIndexBlocksDuplicates", "assertDuplicateKeyThrowsOnInsert", "assertSettingUniqueIndexViolationThrowsSpruceError", "assertCanCreateUniqueIndexOnNestedField", "assertUpsertWithUniqueIndex", "assertNestedFieldIndexUpdates", "assertHasNoIndexToStart", "assertCanCreateIndex", "assertCantCreateSameIndexTwice", "assertCanCreateMultiFieldIndex", "assertCanDropIndex", "assertCanDropCompoundIndex", "assertCantDropCompoundIndexThatDoesNotExist", "assertSyncIndexesSkipsExisting", "assertSyncIndexesRemovesExtraIndexes", "assertSyncIndexesHandlesRaceConditions", "assertSyncIndexesDoesNotRemoveExisting", "assertDuplicateFieldsWithMultipleUniqueIndexesWorkAsExpected", "assertCanSyncIndexesWithoutPartialThenAgainWithProperlyUpdates"];
|
4
|
+
export type DatabaseAssertionName = (typeof methods)[number];
|
3
5
|
declare const databaseAssertUtil: {
|
4
6
|
collectionName: string;
|
5
|
-
runSuite(connect: TestConnect, tests?:
|
7
|
+
runSuite(connect: TestConnect, tests?: DatabaseAssertionName[]): Promise<void>;
|
6
8
|
_getIndexesWith_IdFilteredOut(db: Database): Promise<IndexWithFilter[]>;
|
7
9
|
_filterOut_Id(allIndexes: IndexWithFilter[]): IndexWithFilter[];
|
8
10
|
_assertUpdateUpdatedRightNumberOfRecords(db: Database, search: Record<string, any>, updates: Record<string, any>, expectedUpdateCount: number): Promise<void>;
|
@@ -11,95 +11,95 @@ import { assertOptions } from '@sprucelabs/schema';
|
|
11
11
|
import { assert } from '@sprucelabs/test-utils';
|
12
12
|
import { errorAssert } from '@sprucelabs/test-utils';
|
13
13
|
import generateId from '../utilities/generateId.js';
|
14
|
+
const methods = [
|
15
|
+
//connecting
|
16
|
+
'assertThrowsWithInvalidConnectionString',
|
17
|
+
'assertThrowsWhenCantConnect',
|
18
|
+
'assertThrowsWithBadDatabaseName',
|
19
|
+
//inserting
|
20
|
+
'assertEmptyDatabaseReturnsEmptyArray',
|
21
|
+
'assertKnowsIfConnectionClosed',
|
22
|
+
'assertFindOneOnEmptyDatabaseReturnsNull',
|
23
|
+
'assertCanSortDesc',
|
24
|
+
'assertCanSortAsc',
|
25
|
+
'assertCanSortById',
|
26
|
+
'assertCanQueryWithOr',
|
27
|
+
'generateIdDifferentEachTime',
|
28
|
+
'assertInsertingGeneratesId',
|
29
|
+
'assertCanCreateMany',
|
30
|
+
'assertCanLimitResults',
|
31
|
+
'assertCanCreateWithObjectField',
|
32
|
+
//counting
|
33
|
+
'assertCanCountOnId',
|
34
|
+
'assertCanCount',
|
35
|
+
//updating
|
36
|
+
'assertThrowsWhenUpdatingRecordNotFound',
|
37
|
+
'assertCanUpdate',
|
38
|
+
'assertCanUpdateMany',
|
39
|
+
'assertCanPushOntoArrayValue',
|
40
|
+
'assertCanUpdateWithObjectField',
|
41
|
+
'assertCanUpdateFieldInObjectFieldWithTargettedWhere',
|
42
|
+
'assertCanSaveAndGetNullAndUndefined',
|
43
|
+
//upserting
|
44
|
+
'assertCanUpsertOne',
|
45
|
+
'assertCanUpsertNull',
|
46
|
+
'assertCanPushToArrayOnUpsert',
|
47
|
+
'assertCanSyncUniqueIndexesWithFilterExpression',
|
48
|
+
//finding
|
49
|
+
'assertEmptyDatabaseReturnsEmptyArray',
|
50
|
+
'assertFindOneOnEmptyDatabaseReturnsNull',
|
51
|
+
'assertCanLimitResults',
|
52
|
+
'assertCanLimitResultsToZero',
|
53
|
+
'assertCanFindWithBooleanField',
|
54
|
+
'assertCanQueryByGtLtGteLteNe',
|
55
|
+
'assertCanQueryPathWithDotSyntax',
|
56
|
+
'assertCanReturnOnlySelectFields',
|
57
|
+
'assertCanSearchByRegex',
|
58
|
+
'assertCanFindWithNe',
|
59
|
+
'assertCanFindWithIn',
|
60
|
+
//deleting
|
61
|
+
'assertCanDeleteRecord',
|
62
|
+
'assertCanDeleteOne',
|
63
|
+
//indexing
|
64
|
+
'assertHasNoUniqueIndexToStart',
|
65
|
+
'assertCanCreateUniqueIndex',
|
66
|
+
'assertCanCreateMultiFieldUniqueIndex',
|
67
|
+
'assertCantCreateUniqueIndexTwice',
|
68
|
+
'assertCanDropUniqueIndex',
|
69
|
+
'assertCanDropCompoundUniqueIndex',
|
70
|
+
'assertCantDropUniqueIndexThatDoesntExist',
|
71
|
+
'assertCantDropIndexWhenNoIndexExists',
|
72
|
+
'assertCantDropCompoundUniqueIndexThatDoesntExist',
|
73
|
+
'assertSyncingUniqueIndexsAddsMissingIndexes',
|
74
|
+
'assertSyncingUniqueIndexsSkipsExistingIndexs',
|
75
|
+
'assertSyncingUniqueIndexesRemovesExtraIndexes',
|
76
|
+
'assertSyncingUniqueIndexesIsRaceProof',
|
77
|
+
'assertSyncingIndexesDoesNotAddAndRemove',
|
78
|
+
'assertUniqueIndexBlocksDuplicates',
|
79
|
+
'assertDuplicateKeyThrowsOnInsert',
|
80
|
+
'assertSettingUniqueIndexViolationThrowsSpruceError',
|
81
|
+
'assertCanCreateUniqueIndexOnNestedField',
|
82
|
+
'assertUpsertWithUniqueIndex',
|
83
|
+
'assertNestedFieldIndexUpdates',
|
84
|
+
'assertHasNoIndexToStart',
|
85
|
+
'assertCanCreateIndex',
|
86
|
+
'assertCantCreateSameIndexTwice',
|
87
|
+
'assertCanCreateMultiFieldIndex',
|
88
|
+
'assertCanDropIndex',
|
89
|
+
'assertCanDropCompoundIndex',
|
90
|
+
'assertCantDropCompoundIndexThatDoesNotExist',
|
91
|
+
'assertSyncIndexesSkipsExisting',
|
92
|
+
'assertSyncIndexesRemovesExtraIndexes',
|
93
|
+
'assertSyncIndexesHandlesRaceConditions',
|
94
|
+
'assertSyncIndexesDoesNotRemoveExisting',
|
95
|
+
'assertDuplicateFieldsWithMultipleUniqueIndexesWorkAsExpected',
|
96
|
+
'assertCanSyncIndexesWithoutPartialThenAgainWithProperlyUpdates',
|
97
|
+
];
|
14
98
|
const databaseAssertUtil = {
|
15
99
|
collectionName: 'test_collection',
|
16
100
|
runSuite(connect, tests) {
|
17
101
|
return __awaiter(this, void 0, void 0, function* () {
|
18
102
|
assertOptions({ connect }, ['connect']);
|
19
|
-
const methods = [
|
20
|
-
//connecting
|
21
|
-
'assertThrowsWithInvalidConnectionString',
|
22
|
-
'assertThrowsWhenCantConnect',
|
23
|
-
'assertThrowsWithBadDatabaseName',
|
24
|
-
//inserting
|
25
|
-
'assertEmptyDatabaseReturnsEmptyArray',
|
26
|
-
'assertKnowsIfConnectionClosed',
|
27
|
-
'assertFindOneOnEmptyDatabaseReturnsNull',
|
28
|
-
'assertCanSortDesc',
|
29
|
-
'assertCanSortAsc',
|
30
|
-
'assertCanSortById',
|
31
|
-
'assertCanQueryWithOr',
|
32
|
-
'generateIdDifferentEachTime',
|
33
|
-
'assertInsertingGeneratesId',
|
34
|
-
'assertCanCreateMany',
|
35
|
-
'assertCanLimitResults',
|
36
|
-
'assertCanCreateWithObjectField',
|
37
|
-
//counting
|
38
|
-
'assertCanCountOnId',
|
39
|
-
'assertCanCount',
|
40
|
-
//updating
|
41
|
-
'assertThrowsWhenUpdatingRecordNotFound',
|
42
|
-
'assertCanUpdate',
|
43
|
-
'assertCanUpdateMany',
|
44
|
-
'assertCanPushOntoArrayValue',
|
45
|
-
'assertCanUpdateWithObjectField',
|
46
|
-
'assertCanUpdateFieldInObjectFieldWithTargettedWhere',
|
47
|
-
'assertCanSaveAndGetNullAndUndefined',
|
48
|
-
//upserting
|
49
|
-
'assertCanUpsertOne',
|
50
|
-
'assertCanUpsertNull',
|
51
|
-
'assertCanPushToArrayOnUpsert',
|
52
|
-
'assertCanSyncUniqueIndexesWithFilterExpression',
|
53
|
-
//finding
|
54
|
-
'assertEmptyDatabaseReturnsEmptyArray',
|
55
|
-
'assertFindOneOnEmptyDatabaseReturnsNull',
|
56
|
-
'assertCanLimitResults',
|
57
|
-
'assertCanLimitResultsToZero',
|
58
|
-
'assertCanFindWithBooleanField',
|
59
|
-
'assertCanQueryByGtLtGteLteNe',
|
60
|
-
'assertCanQueryPathWithDotSyntax',
|
61
|
-
'assertCanReturnOnlySelectFields',
|
62
|
-
'assertCanSearchByRegex',
|
63
|
-
'assertCanFindWithNe',
|
64
|
-
'assertCanFindWithIn',
|
65
|
-
//deleting
|
66
|
-
'assertCanDeleteRecord',
|
67
|
-
'assertCanDeleteOne',
|
68
|
-
//indexing
|
69
|
-
'assertHasNoUniqueIndexToStart',
|
70
|
-
'assertCanCreateUniqueIndex',
|
71
|
-
'assertCanCreateMultiFieldUniqueIndex',
|
72
|
-
'assertCantCreateUniqueIndexTwice',
|
73
|
-
'assertCanDropUniqueIndex',
|
74
|
-
'assertCanDropCompoundUniqueIndex',
|
75
|
-
'assertCantDropUniqueIndexThatDoesntExist',
|
76
|
-
'assertCantDropIndexWhenNoIndexExists',
|
77
|
-
'assertCantDropCompoundUniqueIndexThatDoesntExist',
|
78
|
-
'assertSyncingUniqueIndexsAddsMissingIndexes',
|
79
|
-
'assertSyncingUniqueIndexsSkipsExistingIndexs',
|
80
|
-
'assertSyncingUniqueIndexesRemovesExtraIndexes',
|
81
|
-
'assertSyncingUniqueIndexesIsRaceProof',
|
82
|
-
'assertSyncingIndexesDoesNotAddAndRemove',
|
83
|
-
'assertUniqueIndexBlocksDuplicates',
|
84
|
-
'assertDuplicateKeyThrowsOnInsert',
|
85
|
-
'assertSettingUniqueIndexViolationThrowsSpruceError',
|
86
|
-
'assertCanCreateUniqueIndexOnNestedField',
|
87
|
-
'assertUpsertWithUniqueIndex',
|
88
|
-
'assertNestedFieldIndexUpdates',
|
89
|
-
'assertHasNoIndexToStart',
|
90
|
-
'assertCanCreateIndex',
|
91
|
-
'assertCantCreateSameIndexTwice',
|
92
|
-
'assertCanCreateMultiFieldIndex',
|
93
|
-
'assertCanDropIndex',
|
94
|
-
'assertCanDropCompoundIndex',
|
95
|
-
'assertCantDropCompoundIndexThatDoesNotExist',
|
96
|
-
'assertSyncIndexesSkipsExisting',
|
97
|
-
'assertSyncIndexesRemovesExtraIndexes',
|
98
|
-
'assertSyncIndexesHandlesRaceConditions',
|
99
|
-
'assertSyncIndexesDoesNotRemoveExisting',
|
100
|
-
'assertDuplicateFieldsWithMultipleUniqueIndexesWorkAsExpected',
|
101
|
-
'assertCanSyncIndexesWithoutPartialThenAgainWithProperlyUpdates',
|
102
|
-
];
|
103
103
|
const db = yield connectToDabatase(connect);
|
104
104
|
yield db.dropDatabase();
|
105
105
|
yield this.shutdown(db);
|
@@ -1,8 +1,10 @@
|
|
1
1
|
import { Database, IndexWithFilter, TestConnect } from '../types/database.types';
|
2
2
|
import { DataStore } from '../types/stores.types';
|
3
|
+
declare const methods: readonly ["assertThrowsWithInvalidConnectionString", "assertThrowsWhenCantConnect", "assertThrowsWithBadDatabaseName", "assertEmptyDatabaseReturnsEmptyArray", "assertKnowsIfConnectionClosed", "assertFindOneOnEmptyDatabaseReturnsNull", "assertCanSortDesc", "assertCanSortAsc", "assertCanSortById", "assertCanQueryWithOr", "generateIdDifferentEachTime", "assertInsertingGeneratesId", "assertCanCreateMany", "assertCanLimitResults", "assertCanCreateWithObjectField", "assertCanCountOnId", "assertCanCount", "assertThrowsWhenUpdatingRecordNotFound", "assertCanUpdate", "assertCanUpdateMany", "assertCanPushOntoArrayValue", "assertCanUpdateWithObjectField", "assertCanUpdateFieldInObjectFieldWithTargettedWhere", "assertCanSaveAndGetNullAndUndefined", "assertCanUpsertOne", "assertCanUpsertNull", "assertCanPushToArrayOnUpsert", "assertCanSyncUniqueIndexesWithFilterExpression", "assertEmptyDatabaseReturnsEmptyArray", "assertFindOneOnEmptyDatabaseReturnsNull", "assertCanLimitResults", "assertCanLimitResultsToZero", "assertCanFindWithBooleanField", "assertCanQueryByGtLtGteLteNe", "assertCanQueryPathWithDotSyntax", "assertCanReturnOnlySelectFields", "assertCanSearchByRegex", "assertCanFindWithNe", "assertCanFindWithIn", "assertCanDeleteRecord", "assertCanDeleteOne", "assertHasNoUniqueIndexToStart", "assertCanCreateUniqueIndex", "assertCanCreateMultiFieldUniqueIndex", "assertCantCreateUniqueIndexTwice", "assertCanDropUniqueIndex", "assertCanDropCompoundUniqueIndex", "assertCantDropUniqueIndexThatDoesntExist", "assertCantDropIndexWhenNoIndexExists", "assertCantDropCompoundUniqueIndexThatDoesntExist", "assertSyncingUniqueIndexsAddsMissingIndexes", "assertSyncingUniqueIndexsSkipsExistingIndexs", "assertSyncingUniqueIndexesRemovesExtraIndexes", "assertSyncingUniqueIndexesIsRaceProof", "assertSyncingIndexesDoesNotAddAndRemove", "assertUniqueIndexBlocksDuplicates", "assertDuplicateKeyThrowsOnInsert", "assertSettingUniqueIndexViolationThrowsSpruceError", "assertCanCreateUniqueIndexOnNestedField", "assertUpsertWithUniqueIndex", "assertNestedFieldIndexUpdates", "assertHasNoIndexToStart", "assertCanCreateIndex", "assertCantCreateSameIndexTwice", "assertCanCreateMultiFieldIndex", "assertCanDropIndex", "assertCanDropCompoundIndex", "assertCantDropCompoundIndexThatDoesNotExist", "assertSyncIndexesSkipsExisting", "assertSyncIndexesRemovesExtraIndexes", "assertSyncIndexesHandlesRaceConditions", "assertSyncIndexesDoesNotRemoveExisting", "assertDuplicateFieldsWithMultipleUniqueIndexesWorkAsExpected", "assertCanSyncIndexesWithoutPartialThenAgainWithProperlyUpdates"];
|
4
|
+
export type DatabaseAssertionName = (typeof methods)[number];
|
3
5
|
declare const databaseAssertUtil: {
|
4
6
|
collectionName: string;
|
5
|
-
runSuite(connect: TestConnect, tests?:
|
7
|
+
runSuite(connect: TestConnect, tests?: DatabaseAssertionName[]): Promise<void>;
|
6
8
|
_getIndexesWith_IdFilteredOut(db: Database): Promise<IndexWithFilter[]>;
|
7
9
|
_filterOut_Id(allIndexes: IndexWithFilter[]): IndexWithFilter[];
|
8
10
|
_assertUpdateUpdatedRightNumberOfRecords(db: Database, search: Record<string, any>, updates: Record<string, any>, expectedUpdateCount: number): Promise<void>;
|
@@ -7,94 +7,94 @@ const schema_1 = require("@sprucelabs/schema");
|
|
7
7
|
const test_utils_1 = require("@sprucelabs/test-utils");
|
8
8
|
const test_utils_2 = require("@sprucelabs/test-utils");
|
9
9
|
const generateId_1 = __importDefault(require("../utilities/generateId"));
|
10
|
+
const methods = [
|
11
|
+
//connecting
|
12
|
+
'assertThrowsWithInvalidConnectionString',
|
13
|
+
'assertThrowsWhenCantConnect',
|
14
|
+
'assertThrowsWithBadDatabaseName',
|
15
|
+
//inserting
|
16
|
+
'assertEmptyDatabaseReturnsEmptyArray',
|
17
|
+
'assertKnowsIfConnectionClosed',
|
18
|
+
'assertFindOneOnEmptyDatabaseReturnsNull',
|
19
|
+
'assertCanSortDesc',
|
20
|
+
'assertCanSortAsc',
|
21
|
+
'assertCanSortById',
|
22
|
+
'assertCanQueryWithOr',
|
23
|
+
'generateIdDifferentEachTime',
|
24
|
+
'assertInsertingGeneratesId',
|
25
|
+
'assertCanCreateMany',
|
26
|
+
'assertCanLimitResults',
|
27
|
+
'assertCanCreateWithObjectField',
|
28
|
+
//counting
|
29
|
+
'assertCanCountOnId',
|
30
|
+
'assertCanCount',
|
31
|
+
//updating
|
32
|
+
'assertThrowsWhenUpdatingRecordNotFound',
|
33
|
+
'assertCanUpdate',
|
34
|
+
'assertCanUpdateMany',
|
35
|
+
'assertCanPushOntoArrayValue',
|
36
|
+
'assertCanUpdateWithObjectField',
|
37
|
+
'assertCanUpdateFieldInObjectFieldWithTargettedWhere',
|
38
|
+
'assertCanSaveAndGetNullAndUndefined',
|
39
|
+
//upserting
|
40
|
+
'assertCanUpsertOne',
|
41
|
+
'assertCanUpsertNull',
|
42
|
+
'assertCanPushToArrayOnUpsert',
|
43
|
+
'assertCanSyncUniqueIndexesWithFilterExpression',
|
44
|
+
//finding
|
45
|
+
'assertEmptyDatabaseReturnsEmptyArray',
|
46
|
+
'assertFindOneOnEmptyDatabaseReturnsNull',
|
47
|
+
'assertCanLimitResults',
|
48
|
+
'assertCanLimitResultsToZero',
|
49
|
+
'assertCanFindWithBooleanField',
|
50
|
+
'assertCanQueryByGtLtGteLteNe',
|
51
|
+
'assertCanQueryPathWithDotSyntax',
|
52
|
+
'assertCanReturnOnlySelectFields',
|
53
|
+
'assertCanSearchByRegex',
|
54
|
+
'assertCanFindWithNe',
|
55
|
+
'assertCanFindWithIn',
|
56
|
+
//deleting
|
57
|
+
'assertCanDeleteRecord',
|
58
|
+
'assertCanDeleteOne',
|
59
|
+
//indexing
|
60
|
+
'assertHasNoUniqueIndexToStart',
|
61
|
+
'assertCanCreateUniqueIndex',
|
62
|
+
'assertCanCreateMultiFieldUniqueIndex',
|
63
|
+
'assertCantCreateUniqueIndexTwice',
|
64
|
+
'assertCanDropUniqueIndex',
|
65
|
+
'assertCanDropCompoundUniqueIndex',
|
66
|
+
'assertCantDropUniqueIndexThatDoesntExist',
|
67
|
+
'assertCantDropIndexWhenNoIndexExists',
|
68
|
+
'assertCantDropCompoundUniqueIndexThatDoesntExist',
|
69
|
+
'assertSyncingUniqueIndexsAddsMissingIndexes',
|
70
|
+
'assertSyncingUniqueIndexsSkipsExistingIndexs',
|
71
|
+
'assertSyncingUniqueIndexesRemovesExtraIndexes',
|
72
|
+
'assertSyncingUniqueIndexesIsRaceProof',
|
73
|
+
'assertSyncingIndexesDoesNotAddAndRemove',
|
74
|
+
'assertUniqueIndexBlocksDuplicates',
|
75
|
+
'assertDuplicateKeyThrowsOnInsert',
|
76
|
+
'assertSettingUniqueIndexViolationThrowsSpruceError',
|
77
|
+
'assertCanCreateUniqueIndexOnNestedField',
|
78
|
+
'assertUpsertWithUniqueIndex',
|
79
|
+
'assertNestedFieldIndexUpdates',
|
80
|
+
'assertHasNoIndexToStart',
|
81
|
+
'assertCanCreateIndex',
|
82
|
+
'assertCantCreateSameIndexTwice',
|
83
|
+
'assertCanCreateMultiFieldIndex',
|
84
|
+
'assertCanDropIndex',
|
85
|
+
'assertCanDropCompoundIndex',
|
86
|
+
'assertCantDropCompoundIndexThatDoesNotExist',
|
87
|
+
'assertSyncIndexesSkipsExisting',
|
88
|
+
'assertSyncIndexesRemovesExtraIndexes',
|
89
|
+
'assertSyncIndexesHandlesRaceConditions',
|
90
|
+
'assertSyncIndexesDoesNotRemoveExisting',
|
91
|
+
'assertDuplicateFieldsWithMultipleUniqueIndexesWorkAsExpected',
|
92
|
+
'assertCanSyncIndexesWithoutPartialThenAgainWithProperlyUpdates',
|
93
|
+
];
|
10
94
|
const databaseAssertUtil = {
|
11
95
|
collectionName: 'test_collection',
|
12
96
|
async runSuite(connect, tests) {
|
13
97
|
(0, schema_1.assertOptions)({ connect }, ['connect']);
|
14
|
-
const methods = [
|
15
|
-
//connecting
|
16
|
-
'assertThrowsWithInvalidConnectionString',
|
17
|
-
'assertThrowsWhenCantConnect',
|
18
|
-
'assertThrowsWithBadDatabaseName',
|
19
|
-
//inserting
|
20
|
-
'assertEmptyDatabaseReturnsEmptyArray',
|
21
|
-
'assertKnowsIfConnectionClosed',
|
22
|
-
'assertFindOneOnEmptyDatabaseReturnsNull',
|
23
|
-
'assertCanSortDesc',
|
24
|
-
'assertCanSortAsc',
|
25
|
-
'assertCanSortById',
|
26
|
-
'assertCanQueryWithOr',
|
27
|
-
'generateIdDifferentEachTime',
|
28
|
-
'assertInsertingGeneratesId',
|
29
|
-
'assertCanCreateMany',
|
30
|
-
'assertCanLimitResults',
|
31
|
-
'assertCanCreateWithObjectField',
|
32
|
-
//counting
|
33
|
-
'assertCanCountOnId',
|
34
|
-
'assertCanCount',
|
35
|
-
//updating
|
36
|
-
'assertThrowsWhenUpdatingRecordNotFound',
|
37
|
-
'assertCanUpdate',
|
38
|
-
'assertCanUpdateMany',
|
39
|
-
'assertCanPushOntoArrayValue',
|
40
|
-
'assertCanUpdateWithObjectField',
|
41
|
-
'assertCanUpdateFieldInObjectFieldWithTargettedWhere',
|
42
|
-
'assertCanSaveAndGetNullAndUndefined',
|
43
|
-
//upserting
|
44
|
-
'assertCanUpsertOne',
|
45
|
-
'assertCanUpsertNull',
|
46
|
-
'assertCanPushToArrayOnUpsert',
|
47
|
-
'assertCanSyncUniqueIndexesWithFilterExpression',
|
48
|
-
//finding
|
49
|
-
'assertEmptyDatabaseReturnsEmptyArray',
|
50
|
-
'assertFindOneOnEmptyDatabaseReturnsNull',
|
51
|
-
'assertCanLimitResults',
|
52
|
-
'assertCanLimitResultsToZero',
|
53
|
-
'assertCanFindWithBooleanField',
|
54
|
-
'assertCanQueryByGtLtGteLteNe',
|
55
|
-
'assertCanQueryPathWithDotSyntax',
|
56
|
-
'assertCanReturnOnlySelectFields',
|
57
|
-
'assertCanSearchByRegex',
|
58
|
-
'assertCanFindWithNe',
|
59
|
-
'assertCanFindWithIn',
|
60
|
-
//deleting
|
61
|
-
'assertCanDeleteRecord',
|
62
|
-
'assertCanDeleteOne',
|
63
|
-
//indexing
|
64
|
-
'assertHasNoUniqueIndexToStart',
|
65
|
-
'assertCanCreateUniqueIndex',
|
66
|
-
'assertCanCreateMultiFieldUniqueIndex',
|
67
|
-
'assertCantCreateUniqueIndexTwice',
|
68
|
-
'assertCanDropUniqueIndex',
|
69
|
-
'assertCanDropCompoundUniqueIndex',
|
70
|
-
'assertCantDropUniqueIndexThatDoesntExist',
|
71
|
-
'assertCantDropIndexWhenNoIndexExists',
|
72
|
-
'assertCantDropCompoundUniqueIndexThatDoesntExist',
|
73
|
-
'assertSyncingUniqueIndexsAddsMissingIndexes',
|
74
|
-
'assertSyncingUniqueIndexsSkipsExistingIndexs',
|
75
|
-
'assertSyncingUniqueIndexesRemovesExtraIndexes',
|
76
|
-
'assertSyncingUniqueIndexesIsRaceProof',
|
77
|
-
'assertSyncingIndexesDoesNotAddAndRemove',
|
78
|
-
'assertUniqueIndexBlocksDuplicates',
|
79
|
-
'assertDuplicateKeyThrowsOnInsert',
|
80
|
-
'assertSettingUniqueIndexViolationThrowsSpruceError',
|
81
|
-
'assertCanCreateUniqueIndexOnNestedField',
|
82
|
-
'assertUpsertWithUniqueIndex',
|
83
|
-
'assertNestedFieldIndexUpdates',
|
84
|
-
'assertHasNoIndexToStart',
|
85
|
-
'assertCanCreateIndex',
|
86
|
-
'assertCantCreateSameIndexTwice',
|
87
|
-
'assertCanCreateMultiFieldIndex',
|
88
|
-
'assertCanDropIndex',
|
89
|
-
'assertCanDropCompoundIndex',
|
90
|
-
'assertCantDropCompoundIndexThatDoesNotExist',
|
91
|
-
'assertSyncIndexesSkipsExisting',
|
92
|
-
'assertSyncIndexesRemovesExtraIndexes',
|
93
|
-
'assertSyncIndexesHandlesRaceConditions',
|
94
|
-
'assertSyncIndexesDoesNotRemoveExisting',
|
95
|
-
'assertDuplicateFieldsWithMultipleUniqueIndexesWorkAsExpected',
|
96
|
-
'assertCanSyncIndexesWithoutPartialThenAgainWithProperlyUpdates',
|
97
|
-
];
|
98
98
|
const db = await connectToDabatase(connect);
|
99
99
|
await db.dropDatabase();
|
100
100
|
await this.shutdown(db);
|
package/package.json
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
"publishConfig": {
|
4
4
|
"access": "public"
|
5
5
|
},
|
6
|
-
"version": "28.1.
|
6
|
+
"version": "28.1.340",
|
7
7
|
"files": [
|
8
8
|
"build/**/*",
|
9
9
|
"!build/__tests__",
|
@@ -64,22 +64,22 @@
|
|
64
64
|
"watch.tsc": "tsc -w"
|
65
65
|
},
|
66
66
|
"dependencies": {
|
67
|
-
"@sprucelabs/error": "^6.0.
|
68
|
-
"@sprucelabs/globby": "^2.0.
|
69
|
-
"@sprucelabs/schema": "^30.0.
|
70
|
-
"@sprucelabs/spruce-skill-utils": "^31.0.
|
67
|
+
"@sprucelabs/error": "^6.0.338",
|
68
|
+
"@sprucelabs/globby": "^2.0.299",
|
69
|
+
"@sprucelabs/schema": "^30.0.386",
|
70
|
+
"@sprucelabs/spruce-skill-utils": "^31.0.405",
|
71
71
|
"just-clone": "^6.2.0",
|
72
72
|
"lodash": "^4.17.21",
|
73
73
|
"mongodb": "^6.8.1",
|
74
74
|
"nedb": "^1.8.0"
|
75
75
|
},
|
76
76
|
"devDependencies": {
|
77
|
-
"@sprucelabs/esm-postbuild": "^6.0.
|
78
|
-
"@sprucelabs/jest-json-reporter": "^8.0.
|
79
|
-
"@sprucelabs/resolve-path-aliases": "^2.0.
|
77
|
+
"@sprucelabs/esm-postbuild": "^6.0.322",
|
78
|
+
"@sprucelabs/jest-json-reporter": "^8.0.339",
|
79
|
+
"@sprucelabs/resolve-path-aliases": "^2.0.317",
|
80
80
|
"@sprucelabs/semantic-release": "^5.0.2",
|
81
81
|
"@sprucelabs/test": "^9.0.44",
|
82
|
-
"@sprucelabs/test-utils": "^5.1.
|
82
|
+
"@sprucelabs/test-utils": "^5.1.284",
|
83
83
|
"@types/lodash": "^4.17.7",
|
84
84
|
"@types/nedb": "^1.8.16",
|
85
85
|
"@types/node": "^22.5.4",
|