@goatlab/fluent 0.7.1 → 0.7.4
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/CHANGELOG.md +1072 -0
- package/dist/BaseConnector.d.ts +14 -7
- package/dist/BaseConnector.js +51 -3
- package/dist/Fluent.d.ts +0 -0
- package/dist/Fluent.js +0 -0
- package/dist/FluentEntity.d.ts +0 -0
- package/dist/FluentEntity.js +0 -0
- package/dist/TypeOrmConnector/TypeOrmConnector.d.ts +10 -11
- package/dist/TypeOrmConnector/TypeOrmConnector.js +134 -146
- package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.d.ts +0 -0
- package/dist/TypeOrmConnector/test/advanced/advancedTestSuite.js +0 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.d.ts +6 -6
- package/dist/TypeOrmConnector/test/advanced/typeOrm.entity.js +0 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mongo.repository.js +0 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.mysql.repository.js +0 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/advanced/typeOrm.repository.js +0 -0
- package/dist/TypeOrmConnector/test/basic/basicTestSuite.d.ts +1 -1
- package/dist/TypeOrmConnector/test/basic/basicTestSuite.js +116 -4
- package/dist/TypeOrmConnector/test/basic/goat.entity.d.ts +0 -0
- package/dist/TypeOrmConnector/test/basic/goat.entity.js +0 -0
- package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/basic/goat.mongo.repository.js +0 -0
- package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/basic/goat.mysql.repository.js +0 -0
- package/dist/TypeOrmConnector/test/basic/goat.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/basic/goat.repository.js +0 -0
- package/dist/TypeOrmConnector/test/dbEntities.d.ts +0 -0
- package/dist/TypeOrmConnector/test/dbEntities.js +0 -0
- package/dist/TypeOrmConnector/test/docker/docker.d.ts +0 -0
- package/dist/TypeOrmConnector/test/docker/docker.js +0 -0
- package/dist/TypeOrmConnector/test/docker/mysql.d.ts +0 -0
- package/dist/TypeOrmConnector/test/docker/mysql.js +0 -0
- package/dist/TypeOrmConnector/test/flock.d.ts +0 -0
- package/dist/TypeOrmConnector/test/flock.js +0 -0
- package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mongo/car.mongo.repository.js +0 -0
- package/dist/TypeOrmConnector/test/mongo/mongo.memory.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mongo/mongo.memory.js +0 -0
- package/dist/TypeOrmConnector/test/mongo/mongoDatasource.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mongo/mongoDatasource.js +0 -0
- package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mongo/roles.mongo.repository.js +0 -0
- package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mongo/roles_user.mongo.repository.js +0 -0
- package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mongo/user.mongo.repository.js +0 -0
- package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mysql/car.mysql.repository.js +0 -0
- package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mysql/mysqlDataSource.js +0 -0
- package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mysql/roles.mysql.repository.js +0 -0
- package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mysql/roles_user.mysql.repository.js +0 -0
- package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.d.ts +0 -0
- package/dist/TypeOrmConnector/test/mysql/user.mysql.repository.js +0 -0
- package/dist/TypeOrmConnector/test/relations/car/car.entity.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/car/car.entity.js +0 -0
- package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/car/car.repositoryTypeOrm.js +0 -0
- package/dist/TypeOrmConnector/test/relations/car/car.schema.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/car/car.schema.js +0 -0
- package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/relationsTestsSuite.js +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/role.schema.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/role.schema.js +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles.entity.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles.entity.js +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles.repositoryTypeOrm.js +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.entity.js +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles_user.schema.js +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/roles/roles_users.repositoryTypeOrm.js +0 -0
- package/dist/TypeOrmConnector/test/relations/user/user.entity.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/user/user.entity.js +0 -0
- package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/user/user.repositoryTypeOrm.js +0 -0
- package/dist/TypeOrmConnector/test/relations/user/user.schema.d.ts +0 -0
- package/dist/TypeOrmConnector/test/relations/user/user.schema.js +0 -0
- package/dist/TypeOrmConnector/test/sqlite/memoryDataSource.d.ts +0 -0
- package/dist/TypeOrmConnector/test/sqlite/memoryDataSource.js +0 -0
- package/dist/cache.d.ts +0 -0
- package/dist/cache.js +0 -0
- package/dist/core/Loopback/build-schema.d.ts +0 -0
- package/dist/core/Loopback/build-schema.js +0 -0
- package/dist/core/Loopback/common-types.d.ts +0 -0
- package/dist/core/Loopback/common-types.js +0 -0
- package/dist/core/Loopback/json-to-schema.d.ts +0 -0
- package/dist/core/Loopback/json-to-schema.js +0 -0
- package/dist/core/Loopback/mapValues.d.ts +0 -0
- package/dist/core/Loopback/mapValues.js +0 -0
- package/dist/core/Loopback/metadata.d.ts +0 -0
- package/dist/core/Loopback/metadata.js +0 -0
- package/dist/core/Loopback/model.d.ts +0 -0
- package/dist/core/Loopback/model.js +0 -0
- package/dist/core/Loopback/query.d.ts +0 -0
- package/dist/core/Loopback/query.js +0 -0
- package/dist/core/Loopback/relation.types.d.ts +0 -0
- package/dist/core/Loopback/relation.types.js +0 -0
- package/dist/core/Loopback/type-resolver.d.ts +0 -0
- package/dist/core/Loopback/type-resolver.js +0 -0
- package/dist/core/Loopback/type.d.ts +0 -0
- package/dist/core/Loopback/type.js +0 -0
- package/dist/core/Nestjs/applyDecorators.d.ts +0 -0
- package/dist/core/Nestjs/applyDecorators.js +0 -0
- package/dist/core/Nestjs/types/common.d.ts +0 -0
- package/dist/core/Nestjs/types/common.js +0 -0
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/api-hide-property.decorator.js +0 -0
- package/dist/core/Nestjs/types/decorators/api-property.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/api-property.decorator.js +0 -0
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/apply-is-optional.decorator.js +0 -0
- package/dist/core/Nestjs/types/decorators/args-type.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/args-type.decorator.js +0 -0
- package/dist/core/Nestjs/types/decorators/create-property.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/create-property.decorator.js +0 -0
- package/dist/core/Nestjs/types/decorators/directive.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/directive.decorator.js +0 -0
- package/dist/core/Nestjs/types/decorators/extensions.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/extensions.decorator.js +0 -0
- package/dist/core/Nestjs/types/decorators/field.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/field.decorator.js +0 -0
- package/dist/core/Nestjs/types/decorators/input-type.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/input-type.decorator.js +0 -0
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/interface-type.decorator.js +0 -0
- package/dist/core/Nestjs/types/decorators/partial-type.helper.d.ts +0 -0
- package/dist/core/Nestjs/types/decorators/partial-type.helper.js +0 -0
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.d.ts +0 -0
- package/dist/core/Nestjs/types/errors/cannot-determine-host-type.error.js +0 -0
- package/dist/core/Nestjs/types/errors/directive-parsing.error.d.ts +0 -0
- package/dist/core/Nestjs/types/errors/directive-parsing.error.js +0 -0
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.d.ts +0 -0
- package/dist/core/Nestjs/types/errors/unable-to-find-fields.error.js +0 -0
- package/dist/core/Nestjs/types/errors/undefined-type.error.d.ts +0 -0
- package/dist/core/Nestjs/types/errors/undefined-type.error.js +0 -0
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.d.ts +0 -0
- package/dist/core/Nestjs/types/interfaces/add-class-type-metadata.util.js +0 -0
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.d.ts +0 -0
- package/dist/core/Nestjs/types/interfaces/base-type-options.interface.js +0 -0
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.d.ts +0 -0
- package/dist/core/Nestjs/types/interfaces/class-decorator-factory.interface.js +0 -0
- package/dist/core/Nestjs/types/interfaces/complexity.interface.d.ts +0 -0
- package/dist/core/Nestjs/types/interfaces/complexity.interface.js +0 -0
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.d.ts +0 -0
- package/dist/core/Nestjs/types/interfaces/field-middleware.interface.js +0 -0
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.d.ts +0 -0
- package/dist/core/Nestjs/types/interfaces/open-api-spec.interface.js +0 -0
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.d.ts +0 -0
- package/dist/core/Nestjs/types/interfaces/resolve-type-fn.interface.js +0 -0
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.d.ts +0 -0
- package/dist/core/Nestjs/types/interfaces/return-type-func.interface.js +0 -0
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.d.ts +0 -0
- package/dist/core/Nestjs/types/interfaces/schema-object-metadata.interface.js +0 -0
- package/dist/core/Nestjs/types/interfaces/type-options.interface.d.ts +0 -0
- package/dist/core/Nestjs/types/interfaces/type-options.interface.js +0 -0
- package/dist/core/Nestjs/types/lazy-metadata.storage.d.ts +0 -0
- package/dist/core/Nestjs/types/lazy-metadata.storage.js +0 -0
- package/dist/core/Nestjs/types/metadata/class.metadata.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/class.metadata.js +0 -0
- package/dist/core/Nestjs/types/metadata/directive.metadata.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/directive.metadata.js +0 -0
- package/dist/core/Nestjs/types/metadata/enum.metadata.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/enum.metadata.js +0 -0
- package/dist/core/Nestjs/types/metadata/extensions.metadata.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/extensions.metadata.js +0 -0
- package/dist/core/Nestjs/types/metadata/index.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/index.js +0 -0
- package/dist/core/Nestjs/types/metadata/interface.metadata.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/interface.metadata.js +0 -0
- package/dist/core/Nestjs/types/metadata/object-type.metadata.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/object-type.metadata.js +0 -0
- package/dist/core/Nestjs/types/metadata/param.metadata.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/param.metadata.js +0 -0
- package/dist/core/Nestjs/types/metadata/property.metadata.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/property.metadata.js +0 -0
- package/dist/core/Nestjs/types/metadata/resolver.metadata.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/resolver.metadata.js +0 -0
- package/dist/core/Nestjs/types/metadata/union.metadata.d.ts +0 -0
- package/dist/core/Nestjs/types/metadata/union.metadata.js +0 -0
- package/dist/core/Nestjs/types/object-type.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/object-type.decorator.js +0 -0
- package/dist/core/Nestjs/types/omit-type.d.ts +0 -0
- package/dist/core/Nestjs/types/omit-type.js +0 -0
- package/dist/core/Nestjs/types/reflection.utils.d.ts +0 -0
- package/dist/core/Nestjs/types/reflection.utils.js +0 -0
- package/dist/core/Nestjs/types/set-metadata.decorator.d.ts +0 -0
- package/dist/core/Nestjs/types/set-metadata.decorator.js +0 -0
- package/dist/core/Nestjs/types/type-metadata.storage.d.ts +0 -0
- package/dist/core/Nestjs/types/type-metadata.storage.js +0 -0
- package/dist/core/Nestjs/types/utils/enum.utils.d.ts +0 -0
- package/dist/core/Nestjs/types/utils/enum.utils.js +0 -0
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.d.ts +0 -0
- package/dist/core/Nestjs/types/utils/get-fields-and-decorator.util.js +0 -0
- package/dist/core/Nestjs/types/utils/mapped-types.utils.d.ts +0 -0
- package/dist/core/Nestjs/types/utils/mapped-types.utils.js +0 -0
- package/dist/core/Nestjs/types/utils/model-properties-accessor.d.ts +0 -0
- package/dist/core/Nestjs/types/utils/model-properties-accessor.js +0 -0
- package/dist/core/Nestjs/types/utils/type-helpers.utils.d.ts +0 -0
- package/dist/core/Nestjs/types/utils/type-helpers.utils.js +0 -0
- package/dist/core/types.d.ts +0 -0
- package/dist/core/types.js +0 -0
- package/dist/decorators.d.ts +0 -0
- package/dist/decorators.js +0 -0
- package/dist/generatorDatasource.d.ts +0 -0
- package/dist/generatorDatasource.js +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +0 -0
- package/dist/loadRelations.d.ts +0 -0
- package/dist/loadRelations.js +0 -0
- package/dist/outputKeys.d.ts +0 -0
- package/dist/outputKeys.js +0 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +0 -0
- package/package.json +1 -1
|
@@ -1,23 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.basicTestSuite = void 0;
|
|
4
|
+
const js_utils_1 = require("@goatlab/js-utils");
|
|
4
5
|
const flock_1 = require("../flock");
|
|
5
|
-
const basicTestSuite =
|
|
6
|
+
const basicTestSuite = Repo => {
|
|
6
7
|
let storedId;
|
|
8
|
+
let Repository;
|
|
7
9
|
beforeAll(() => {
|
|
8
|
-
Repository = new
|
|
10
|
+
Repository = new Repo();
|
|
9
11
|
});
|
|
10
|
-
test('
|
|
12
|
+
test('insert - Should insert data', async () => {
|
|
11
13
|
const a = await Repository.insert({ name: 'myGoat', age: 13 });
|
|
12
14
|
expect(typeof a.id).toBe('string');
|
|
13
15
|
expect(a.name).toBe('myGoat');
|
|
14
16
|
expect(0).toBe(0);
|
|
15
17
|
});
|
|
16
|
-
it('
|
|
18
|
+
it('insertMany - Should insert Multiple elements', async () => {
|
|
17
19
|
const insertedFlock = await Repository.insertMany(flock_1.flock);
|
|
18
20
|
expect(insertedFlock[0].name).toBe('Goatee');
|
|
19
21
|
storedId = insertedFlock[0].id;
|
|
20
22
|
});
|
|
23
|
+
test('findById - Should GET an object by its ID', async () => {
|
|
24
|
+
const goats = await Repository.insertMany(flock_1.flock);
|
|
25
|
+
const goat = await Repository.findById(goats[0].id);
|
|
26
|
+
expect(goat?.id).toBe(goats[0].id);
|
|
27
|
+
expect(typeof goat?.id).toBe('string');
|
|
28
|
+
const anotherGoat = await Repository.findById('507f1f77bcf86cd799439011');
|
|
29
|
+
expect(anotherGoat).toBe(null);
|
|
30
|
+
});
|
|
31
|
+
test('findById - Should GET selected Data', async () => {
|
|
32
|
+
const goats = await Repository.insertMany(flock_1.flock);
|
|
33
|
+
const goat = await Repository.findById(goats[0].id, {
|
|
34
|
+
select: {
|
|
35
|
+
age: true
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
expect(goat).not.toHaveProperty('name');
|
|
39
|
+
expect(goat?.age).toBe(goats[0].age);
|
|
40
|
+
});
|
|
41
|
+
test('findByIds - Should GET data', async () => {
|
|
42
|
+
const goats = await Repository.insertMany(flock_1.flock);
|
|
43
|
+
const ids = [goats[0].id, goats[1].id];
|
|
44
|
+
const selectedGoats = await Repository.findByIds(ids);
|
|
45
|
+
expect(selectedGoats.length).toBe(2);
|
|
46
|
+
expect(selectedGoats[0].id === ids[0] || selectedGoats[1].id === ids[0]).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
test('findByIds - Should GET selectedData', async () => {
|
|
49
|
+
const goats = await Repository.insertMany(flock_1.flock);
|
|
50
|
+
const ids = [goats[0].id, goats[1].id];
|
|
51
|
+
const ages = [goats[0].age, goats[1].age];
|
|
52
|
+
const selectedGoats = await Repository.findByIds(ids, {
|
|
53
|
+
select: {
|
|
54
|
+
age: true
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
expect(selectedGoats.length).toBe(2);
|
|
58
|
+
expect(selectedGoats[0].age === ages[0] || selectedGoats[1].age === ages[0]).toBe(true);
|
|
59
|
+
expect(selectedGoats[0]).not.toHaveProperty('name');
|
|
60
|
+
});
|
|
21
61
|
test('findMany - Should GET data', async () => {
|
|
22
62
|
await Repository.insertMany(flock_1.flock);
|
|
23
63
|
const storedGoats = await Repository.findMany();
|
|
@@ -47,6 +87,69 @@ const basicTestSuite = Repository => {
|
|
|
47
87
|
expect(Array.isArray(storedGoats)).toBe(true);
|
|
48
88
|
expect(storedGoats.length).toBe(0);
|
|
49
89
|
});
|
|
90
|
+
test('findMany - Should SELECT attributes', async () => {
|
|
91
|
+
await Repository.insertMany(flock_1.flock);
|
|
92
|
+
const storedGoats = await Repository.findMany({
|
|
93
|
+
where: {
|
|
94
|
+
name: 'Goatee'
|
|
95
|
+
},
|
|
96
|
+
select: {
|
|
97
|
+
age: true
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
expect(Array.isArray(storedGoats)).toBe(true);
|
|
101
|
+
expect(storedGoats.length > 0).toBe(true);
|
|
102
|
+
expect(storedGoats[0]).not.toHaveProperty('name');
|
|
103
|
+
});
|
|
104
|
+
test('findFirst - Should get only 1 object back', async () => {
|
|
105
|
+
await Repository.insertMany(flock_1.flock);
|
|
106
|
+
const storedGoats = await Repository.findFirst({
|
|
107
|
+
where: {
|
|
108
|
+
name: 'Goatee'
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
expect(Array.isArray(storedGoats)).toBe(false);
|
|
112
|
+
expect(typeof storedGoats.id).toBe('string');
|
|
113
|
+
});
|
|
114
|
+
test('findFirst - Should FILTER AND SELECT DATA', async () => {
|
|
115
|
+
await Repository.insertMany(flock_1.flock);
|
|
116
|
+
const storedGoats = await Repository.findFirst({
|
|
117
|
+
where: {
|
|
118
|
+
name: 'Goatee'
|
|
119
|
+
},
|
|
120
|
+
select: {
|
|
121
|
+
name: true
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
expect(Array.isArray(storedGoats)).toBe(false);
|
|
125
|
+
expect(storedGoats.name).toBe('Goatee');
|
|
126
|
+
expect(storedGoats).not.toHaveProperty('age');
|
|
127
|
+
});
|
|
128
|
+
test('requireFirst - Should fail if not found', async () => {
|
|
129
|
+
const insertedUser = await Repository.insert({
|
|
130
|
+
name: 'testGoat',
|
|
131
|
+
age: 20
|
|
132
|
+
});
|
|
133
|
+
const [error] = await js_utils_1.Promises.try(Repository.requireFirst({
|
|
134
|
+
where: {
|
|
135
|
+
name: 'noneExistingGoat'
|
|
136
|
+
}
|
|
137
|
+
}));
|
|
138
|
+
expect(error?.message).toBe('No objects found matching: {"where":{"name":"noneExistingGoat"}}');
|
|
139
|
+
});
|
|
140
|
+
test('requireFirst - Should find first item', async () => {
|
|
141
|
+
const insertedUser = await Repository.insert({
|
|
142
|
+
name: 'testGoat',
|
|
143
|
+
age: 20
|
|
144
|
+
});
|
|
145
|
+
const [error, goat] = await js_utils_1.Promises.try(Repository.requireFirst({
|
|
146
|
+
where: {
|
|
147
|
+
name: 'testGoat'
|
|
148
|
+
}
|
|
149
|
+
}));
|
|
150
|
+
expect(error).toBe(null);
|
|
151
|
+
expect(goat.name).toBe(insertedUser.name);
|
|
152
|
+
});
|
|
50
153
|
it('UpdateById - Should Update a single element', async () => {
|
|
51
154
|
await Repository.insertMany(flock_1.flock);
|
|
52
155
|
const goats = await Repository.findMany();
|
|
@@ -67,5 +170,14 @@ const basicTestSuite = Repository => {
|
|
|
67
170
|
expect(data.name).toBe('MyReplacedGoat');
|
|
68
171
|
expect(data.id).toBe(goats[0].id);
|
|
69
172
|
});
|
|
173
|
+
it('deleteById - Should delete an item', async () => {
|
|
174
|
+
await Repository.insertMany(flock_1.flock);
|
|
175
|
+
const goats = await Repository.findMany();
|
|
176
|
+
const foundGoat = await Repository.requireById(goats[0].id);
|
|
177
|
+
expect(foundGoat.id).toBe(goats[0].id);
|
|
178
|
+
await Repository.deleteById(foundGoat.id);
|
|
179
|
+
const [error] = await js_utils_1.Promises.try(Repository.requireById(goats[0].id));
|
|
180
|
+
expect(error?.message).toBe(`Object ${goats[0].id} not found`);
|
|
181
|
+
});
|
|
70
182
|
};
|
|
71
183
|
exports.basicTestSuite = basicTestSuite;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/cache.d.ts
CHANGED
|
File without changes
|
package/dist/cache.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|