entropic-bond 1.46.2 → 1.47.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.
Files changed (41) hide show
  1. package/lib/store/model.d.ts +36 -2
  2. package/lib/store/model.js +40 -2
  3. package/lib/store/model.js.map +1 -1
  4. package/package.json +6 -8
  5. package/lib/auth/auth-mock.spec.d.ts +0 -1
  6. package/lib/auth/auth-mock.spec.js +0 -127
  7. package/lib/auth/auth-mock.spec.js.map +0 -1
  8. package/lib/cloud-functions/cloud-functions-mock.spec.d.ts +0 -1
  9. package/lib/cloud-functions/cloud-functions-mock.spec.js +0 -104
  10. package/lib/cloud-functions/cloud-functions-mock.spec.js.map +0 -1
  11. package/lib/cloud-storage/cloud-storage.spec.d.ts +0 -1
  12. package/lib/cloud-storage/cloud-storage.spec.js +0 -173
  13. package/lib/cloud-storage/cloud-storage.spec.js.map +0 -1
  14. package/lib/observable/observable.spec.d.ts +0 -1
  15. package/lib/observable/observable.spec.js +0 -81
  16. package/lib/observable/observable.spec.js.map +0 -1
  17. package/lib/persistent/entropic-component.spec.d.ts +0 -1
  18. package/lib/persistent/entropic-component.spec.js +0 -115
  19. package/lib/persistent/entropic-component.spec.js.map +0 -1
  20. package/lib/persistent/persistent.spec.d.ts +0 -67
  21. package/lib/persistent/persistent.spec.js +0 -708
  22. package/lib/persistent/persistent.spec.js.map +0 -1
  23. package/lib/server-auth/server-auth-mock.spec.d.ts +0 -1
  24. package/lib/server-auth/server-auth-mock.spec.js +0 -43
  25. package/lib/server-auth/server-auth-mock.spec.js.map +0 -1
  26. package/lib/store/json-data-source.spec.d.ts +0 -1
  27. package/lib/store/json-data-source.spec.js +0 -84
  28. package/lib/store/json-data-source.spec.js.map +0 -1
  29. package/lib/store/mocks/mock-data.json +0 -155
  30. package/lib/store/model.spec.d.ts +0 -1
  31. package/lib/store/model.spec.js +0 -500
  32. package/lib/store/model.spec.js.map +0 -1
  33. package/lib/store/store.spec.d.ts +0 -1
  34. package/lib/store/store.spec.js +0 -21
  35. package/lib/store/store.spec.js.map +0 -1
  36. package/lib/types/utility-types.spec.d.ts +0 -1
  37. package/lib/types/utility-types.spec.js +0 -65
  38. package/lib/types/utility-types.spec.js.map +0 -1
  39. package/lib/utils/utils.spec.d.ts +0 -1
  40. package/lib/utils/utils.spec.js +0 -77
  41. package/lib/utils/utils.spec.js.map +0 -1
@@ -46,7 +46,7 @@ export declare class Model<T extends Persistent> {
46
46
  * @param objectType Deprecated! - restricts the search to a specific instances of the class type
47
47
  * @returns a promise resolving to a collection of matched documents
48
48
  */
49
- query<U extends T>(queryObject?: QueryObject<U>, objectType?: U | string): Promise<U[]>;
49
+ query<U extends T>(queryObject?: QueryObject<U>, /** @deprecated */ objectType?: U | string): Promise<U[]>;
50
50
  /**
51
51
  * Get the amount of documents matching the query
52
52
  * @param queryObject the QueryObject with the search constrains
@@ -89,7 +89,8 @@ export declare class Query<T extends Persistent> {
89
89
  * @param operator the operator to be used in the comparison. The available
90
90
  * operators are: ==, !=, >, >=, < and <=
91
91
  * @param value the value to be compared
92
- * @param aggregate if true, the query will aggregate the results to the previous query
92
+ * @param aggregate if true, the query will use the logical or operator and
93
+ * aggregate the results to the previous query
93
94
  * @returns this Query object to make chained calls possible
94
95
  * @example
95
96
  * query.where( 'name', '==', 'John' )
@@ -115,6 +116,39 @@ export declare class Query<T extends Persistent> {
115
116
  * @see orDeepProp
116
117
  */
117
118
  whereDeepProp(propertyPath: PropPath<T>, operator: QueryOperator, value: PropPathType<T, typeof propertyPath>, aggregate?: boolean): this;
119
+ /**
120
+ * Matches all documents that the value of the property satisfies the condition
121
+ * in the operator parameter and aggregates the results to the previous query
122
+ * @param property the property to be compared
123
+ * @param operator the operator to be used in the comparison. The available
124
+ * operators are: ==, !=, >, >=, < and <=
125
+ * @returns this Query object to make chained calls possible
126
+ * @example
127
+ * query.where( 'name', '==', 'John' ).and( 'age', '>', 18 )
128
+ * @see andDeepProp
129
+ * @see where
130
+ * @see whereDeepProp
131
+ * @see or
132
+ * @see orDeepProp
133
+ */
134
+ and<P extends ClassPropNames<T>>(property: P, operator: QueryOperator, value: Partial<T[P]> | Persistent): this;
135
+ /**
136
+ * Matches all documents that the value of the deep property satisfies the condition
137
+ * in the operator parameter and aggregates the results to the previous query
138
+ * @param propertyPath the path to the property to be compared
139
+ * @param operator the operator to be used in the comparison. The available
140
+ * operators are: ==, !=, >, >=, < and <=
141
+ * @param value the value to be compared
142
+ * @returns this Query object to make chained calls possible
143
+ * @example
144
+ * query.whereDeepProp( 'address.street', '==', 'Main Street' ).andDeepProp( 'address.city', '==', 'New York' )
145
+ * @see and
146
+ * @see where
147
+ * @see whereDeepProp
148
+ * @see or
149
+ * @see orDeepProp
150
+ */
151
+ andDeepProp(propertyPath: PropPath<T>, operator: QueryOperator, value: PropPathType<T, typeof propertyPath>): this;
118
152
  /**
119
153
  * Matches all documents that the value of the property satisfies the condition
120
154
  * in the operator parameter and aggregates the results to the previous query
@@ -91,7 +91,7 @@ class Model {
91
91
  * @param objectType Deprecated! - restricts the search to a specific instances of the class type
92
92
  * @returns a promise resolving to a collection of matched documents
93
93
  */
94
- query(queryObject = {}, objectType) {
94
+ query(queryObject = {}, /** @deprecated */ objectType) {
95
95
  if (objectType) {
96
96
  const className = objectType instanceof persistent_1.Persistent ? objectType.className : objectType;
97
97
  if (!queryObject.operations)
@@ -193,7 +193,8 @@ class Query {
193
193
  * @param operator the operator to be used in the comparison. The available
194
194
  * operators are: ==, !=, >, >=, < and <=
195
195
  * @param value the value to be compared
196
- * @param aggregate if true, the query will aggregate the results to the previous query
196
+ * @param aggregate if true, the query will use the logical or operator and
197
+ * aggregate the results to the previous query
197
198
  * @returns this Query object to make chained calls possible
198
199
  * @example
199
200
  * query.where( 'name', '==', 'John' )
@@ -256,6 +257,43 @@ class Query {
256
257
  });
257
258
  return this;
258
259
  }
260
+ /**
261
+ * Matches all documents that the value of the property satisfies the condition
262
+ * in the operator parameter and aggregates the results to the previous query
263
+ * @param property the property to be compared
264
+ * @param operator the operator to be used in the comparison. The available
265
+ * operators are: ==, !=, >, >=, < and <=
266
+ * @returns this Query object to make chained calls possible
267
+ * @example
268
+ * query.where( 'name', '==', 'John' ).and( 'age', '>', 18 )
269
+ * @see andDeepProp
270
+ * @see where
271
+ * @see whereDeepProp
272
+ * @see or
273
+ * @see orDeepProp
274
+ */
275
+ and(property, operator, value) {
276
+ return this.where(property, operator, value);
277
+ }
278
+ /**
279
+ * Matches all documents that the value of the deep property satisfies the condition
280
+ * in the operator parameter and aggregates the results to the previous query
281
+ * @param propertyPath the path to the property to be compared
282
+ * @param operator the operator to be used in the comparison. The available
283
+ * operators are: ==, !=, >, >=, < and <=
284
+ * @param value the value to be compared
285
+ * @returns this Query object to make chained calls possible
286
+ * @example
287
+ * query.whereDeepProp( 'address.street', '==', 'Main Street' ).andDeepProp( 'address.city', '==', 'New York' )
288
+ * @see and
289
+ * @see where
290
+ * @see whereDeepProp
291
+ * @see or
292
+ * @see orDeepProp
293
+ */
294
+ andDeepProp(propertyPath, operator, value) {
295
+ return this.whereDeepProp(propertyPath, operator, value);
296
+ }
259
297
  /**
260
298
  * Matches all documents that the value of the property satisfies the condition
261
299
  * in the operator parameter and aggregates the results to the previous query
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/store/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/store/model.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "entropic-bond",
3
- "version": "1.46.2",
3
+ "version": "1.47.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "branches": [
@@ -23,7 +23,7 @@
23
23
  "lib"
24
24
  ],
25
25
  "scripts": {
26
- "test": "jest",
26
+ "test": "vitest",
27
27
  "build": "npm run build-cjs",
28
28
  "prepare": "npm run build",
29
29
  "build-ts": "cp -r ./src/ ./lib",
@@ -50,16 +50,14 @@
50
50
  "@semantic-release/changelog": "^6.0.3",
51
51
  "@semantic-release/git": "^10.0.1",
52
52
  "@type-challenges/utils": "^0.1.1",
53
- "@types/jest": "^29.5.5",
54
- "@types/uuid": "^9.0.4",
53
+ "@types/uuid": "^9.0.6",
55
54
  "git-branch-is": "^4.0.0",
56
55
  "husky": "^8.0.3",
57
- "jest": "^29.7.0",
58
56
  "semantic-release": "^22.0.5",
59
- "ts-jest": "^29.1.1",
60
- "typedoc": "^0.25.1",
57
+ "typedoc": "^0.25.2",
61
58
  "typedoc-plugin-markdown": "^3.16.0",
62
- "typescript": "^5.2.2"
59
+ "typescript": "^5.2.2",
60
+ "vitest": "^0.34.6"
63
61
  },
64
62
  "dependencies": {
65
63
  "uuid": "^9.0.1"
@@ -1 +0,0 @@
1
- export {};
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const auth_1 = require("./auth");
4
- const auth_mock_1 = require("./auth-mock");
5
- describe('Auth Mock', () => {
6
- let authChangeSpy = jest.fn();
7
- let mockAuthService;
8
- const fakeUseCredentials = {
9
- email: 'fakeUser@test.com',
10
- emailVerified: true,
11
- creationDate: new Date('2017-01-01').getDate(),
12
- lastLogin: new Date('2017-01-03').getDate(),
13
- customData: {
14
- role: 'testRole',
15
- customer: 'testCustomer'
16
- },
17
- id: 'fakeUser',
18
- };
19
- beforeEach(() => {
20
- auth_1.Auth.useAuthService(mockAuthService = new auth_mock_1.AuthMock());
21
- auth_1.Auth.instance.onAuthStateChange(authChangeSpy);
22
- mockAuthService.fakeRegisteredUser(fakeUseCredentials);
23
- });
24
- it('should throw if AuthService not set', () => {
25
- auth_1.Auth.useAuthService(undefined);
26
- expect(() => auth_1.Auth.instance).toThrow(auth_1.Auth.error.shouldBeRegistered);
27
- });
28
- it('should emulate sign-up', async () => {
29
- const userCredentials = await auth_1.Auth.instance.signUp({
30
- authProvider: 'google',
31
- email: 'test@test.com',
32
- password: 'password'
33
- });
34
- expect(userCredentials.email).toEqual('test@test.com');
35
- expect(authChangeSpy).toHaveBeenCalledWith(userCredentials);
36
- });
37
- it('should emulate failed sign-up', async () => {
38
- try {
39
- var userCredentials = await auth_1.Auth.instance.signUp({
40
- authProvider: 'email',
41
- email: 'test@test.com',
42
- password: 'fail'
43
- });
44
- }
45
- catch { }
46
- expect(userCredentials).toBeUndefined();
47
- expect(authChangeSpy).toHaveBeenCalledWith(undefined);
48
- });
49
- it('should login with fake registered user', async () => {
50
- const userCredentials = await auth_1.Auth.instance.login({
51
- email: 'fakeUser@test.com',
52
- password: 'password',
53
- authProvider: 'google'
54
- });
55
- const modUserCredentials = {
56
- ...fakeUseCredentials,
57
- id: fakeUseCredentials.id
58
- };
59
- expect(userCredentials).toEqual(modUserCredentials);
60
- expect(authChangeSpy).toHaveBeenCalledWith(modUserCredentials);
61
- });
62
- it('should fail login with email auth provider if does not match fake user credentials', async () => {
63
- try {
64
- var userCredentials = await auth_1.Auth.instance.login({
65
- email: 'test@test.com',
66
- password: 'password',
67
- authProvider: 'email'
68
- });
69
- }
70
- catch { }
71
- expect(userCredentials).toEqual(undefined);
72
- expect(authChangeSpy).toHaveBeenCalledWith(undefined);
73
- });
74
- it('should NOT fail login with non email auth provider even if does not match fake user credentials', async () => {
75
- const userCredentials = await auth_1.Auth.instance.login({
76
- email: 'test@test.com',
77
- password: 'password',
78
- authProvider: 'google'
79
- });
80
- expect(userCredentials.email).toEqual('test@test.com');
81
- expect(authChangeSpy).toHaveBeenCalledWith(undefined);
82
- });
83
- it('should logout', async () => {
84
- await auth_1.Auth.instance.logout();
85
- expect(authChangeSpy).toHaveBeenCalledWith(undefined);
86
- });
87
- it('should throw if email does not exists in resetEmailPassword', async () => {
88
- return expect(auth_1.Auth.instance.resetEmailPassword('non-existing-email@test.com')).rejects.toEqual(expect.objectContaining({ code: 'userNotFound' }));
89
- });
90
- it('should retrieve custom credentials', async () => {
91
- const userCredentials = await auth_1.Auth.instance.login({
92
- email: 'fakeUser@test.com',
93
- password: 'password',
94
- authProvider: 'google'
95
- });
96
- expect(userCredentials.customData?.role).toEqual('testRole');
97
- });
98
- it('should throw if login and not email in email auth provider', () => {
99
- return expect(auth_1.Auth.instance.login({
100
- authProvider: 'email',
101
- email: '',
102
- password: '****'
103
- })).rejects.toEqual(expect.objectContaining({ code: 'missingEmail' }));
104
- });
105
- it('should throw if login and not password in email auth provider', () => {
106
- return expect(auth_1.Auth.instance.login({
107
- authProvider: 'email',
108
- email: 'test@test.com',
109
- password: ''
110
- })).rejects.toEqual(expect.objectContaining({ code: 'missingPassword' }));
111
- });
112
- it('should throw if signup and not email in email auth provider', () => {
113
- return expect(auth_1.Auth.instance.signUp({
114
- authProvider: 'email',
115
- email: '',
116
- password: '****'
117
- })).rejects.toEqual(expect.objectContaining({ code: 'missingEmail' }));
118
- });
119
- it('should throw if signup and not password in email auth provider', () => {
120
- return expect(auth_1.Auth.instance.signUp({
121
- authProvider: 'email',
122
- email: 'test@test.com',
123
- password: ''
124
- })).rejects.toEqual(expect.objectContaining({ code: 'missingPassword' }));
125
- });
126
- });
127
- //# sourceMappingURL=auth-mock.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-mock.spec.js","sourceRoot":"","sources":["../../src/auth/auth-mock.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const test_user_1 = require("../store/mocks/test-user");
4
- const cloud_functions_1 = require("./cloud-functions");
5
- const cloud_functions_mock_1 = require("./cloud-functions-mock");
6
- describe('Cloud functions', () => {
7
- beforeEach(() => {
8
- cloud_functions_1.CloudFunctions.useCloudFunctionsService(new cloud_functions_mock_1.CloudFunctionsMock({
9
- testNoParam: () => Promise.resolve('test'),
10
- testArbitraryParamAndReturn: (data) => Promise.resolve(data.length),
11
- testPersistentParamAndReturn: (data) => {
12
- return Promise.resolve(JSON.parse(JSON.stringify(data)));
13
- },
14
- testPersistentParamAndPlainReturn: (data) => {
15
- return Promise.resolve(data.age);
16
- },
17
- testPlainParamAndPersistentReturn: (data) => {
18
- const user = new test_user_1.TestUser();
19
- user.age = data;
20
- return Promise.resolve(user.toObject());
21
- },
22
- testWithoutParam: () => Promise.resolve('Hello from the other side'),
23
- testWithoutReturn: (_data) => Promise.resolve(),
24
- testArrayParam: (data) => Promise.resolve(data.map(d => d.id)),
25
- testObjectParam: (data) => Promise.resolve(Object.entries(data).reduce((obj, [k, v]) => {
26
- obj[k] = v.id;
27
- return obj;
28
- }, {})),
29
- testArrayResult: () => Promise.resolve([new test_user_1.TestUser('userA').toObject(), new test_user_1.TestUser('userB').toObject()]),
30
- testObjectResult: () => Promise.resolve({ user1: new test_user_1.TestUser('userA').toObject(), user2: new test_user_1.TestUser('userB').toObject() })
31
- }));
32
- });
33
- it('should execute cloud function without params', async () => {
34
- const testNoParam = cloud_functions_1.CloudFunctions.instance.getRawFunction('testNoParam');
35
- const result = await testNoParam();
36
- expect(result).toEqual('test');
37
- });
38
- it('should execute cloud function with params', async () => {
39
- const testArbitraryParamAndReturn = cloud_functions_1.CloudFunctions.instance.getFunction('testArbitraryParamAndReturn');
40
- const result = await testArbitraryParamAndReturn('Hello');
41
- expect(result).toEqual(5);
42
- });
43
- it('should execute cloud function without params', async () => {
44
- const testWithoutReturn = cloud_functions_1.CloudFunctions.instance.getFunction('testWithoutReturn');
45
- expect(testWithoutReturn('')).resolves.toBeUndefined();
46
- });
47
- it('should execute cloud function with void return', async () => {
48
- const testWithoutParam = cloud_functions_1.CloudFunctions.instance.getFunction('testWithoutParam');
49
- const result = await testWithoutParam();
50
- expect(result).toEqual('Hello from the other side');
51
- });
52
- it('should execute cloud function with params and return as Persistent', async () => {
53
- const testPersistentParamAndReturn = cloud_functions_1.CloudFunctions.instance.getFunction('testPersistentParamAndReturn');
54
- const user = new test_user_1.TestUser();
55
- user.age = 35;
56
- user.name = { firstName: 'Test User', lastName: 'as a user', ancestorName: {} };
57
- const result = await testPersistentParamAndReturn(user);
58
- expect(result.age).toBe(35);
59
- expect(result.name).toEqual({ firstName: 'Test User', lastName: 'as a user', ancestorName: {} });
60
- });
61
- it('should execute cloud function with params as Persistent and return as plain', async () => {
62
- const testPersistentParamAndPlainReturn = cloud_functions_1.CloudFunctions.instance.getFunction('testPersistentParamAndPlainReturn');
63
- const user = new test_user_1.TestUser();
64
- user.age = 35;
65
- const result = await testPersistentParamAndPlainReturn(user);
66
- expect(result).toBe(35);
67
- });
68
- it('should execute cloud function with params as plain and return as Persistent', async () => {
69
- const testPlainParamAndPersistentReturn = cloud_functions_1.CloudFunctions.instance.getFunction('testPlainParamAndPersistentReturn');
70
- const result = await testPlainParamAndPersistentReturn(35);
71
- expect(result.age).toEqual(35);
72
- });
73
- it('should execute cloud function with params as an array of Persistents', async () => {
74
- const testArrayParam = cloud_functions_1.CloudFunctions.instance.getFunction('testArrayParam');
75
- const result = await testArrayParam([
76
- new test_user_1.TestUser('userA'),
77
- new test_user_1.TestUser('userB')
78
- ]);
79
- expect(result).toEqual(['userA', 'userB']);
80
- });
81
- it('should execute cloud functions that return array of Persistent', async () => {
82
- const testArrayResult = cloud_functions_1.CloudFunctions.instance.getFunction('testArrayResult');
83
- const result = await testArrayResult();
84
- expect(result[0]).toBeInstanceOf(test_user_1.TestUser);
85
- expect(result[0]?.id).toEqual('userA');
86
- expect(result[1]?.id).toEqual('userB');
87
- });
88
- it('should execute cloud function with params as an object containing Persistents', async () => {
89
- const testObjectParam = cloud_functions_1.CloudFunctions.instance.getFunction('testObjectParam');
90
- const result = await testObjectParam({
91
- user1: new test_user_1.TestUser('userA'),
92
- user2: new test_user_1.TestUser('userB')
93
- });
94
- expect(result).toEqual({ user1: 'userA', user2: 'userB' });
95
- });
96
- it('should execute cloud functions that return an object with Persistent', async () => {
97
- const testObjectResult = cloud_functions_1.CloudFunctions.instance.getFunction('testObjectResult');
98
- const result = await testObjectResult();
99
- expect(result.user1).toBeInstanceOf(test_user_1.TestUser);
100
- expect(result.user1?.id).toEqual('userA');
101
- expect(result.user2?.id).toEqual('userB');
102
- });
103
- });
104
- //# sourceMappingURL=cloud-functions-mock.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloud-functions-mock.spec.js","sourceRoot":"","sources":["../../src/cloud-functions/cloud-functions-mock.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,173 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- const persistent_1 = require("../persistent/persistent");
10
- const json_data_source_1 = require("../store/json-data-source");
11
- const store_1 = require("../store/store");
12
- const cloud_storage_1 = require("./cloud-storage");
13
- const mock_cloud_storage_1 = require("./mock-cloud-storage");
14
- const stored_file_1 = require("./stored-file");
15
- function MockFile(data, filename) {
16
- this.data = data;
17
- this.name = filename;
18
- }
19
- global.File = MockFile;
20
- let Test = class Test extends persistent_1.Persistent {
21
- constructor() {
22
- super(...arguments);
23
- this._file = new stored_file_1.StoredFile();
24
- }
25
- get file() {
26
- return this._file;
27
- }
28
- };
29
- __decorate([
30
- persistent_1.persistent
31
- ], Test.prototype, "_file", void 0);
32
- Test = __decorate([
33
- (0, persistent_1.registerPersistentClass)('Test')
34
- ], Test);
35
- describe('Cloud Storage', () => {
36
- let testObj;
37
- let file;
38
- const blobData1 = new Uint8Array([0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x21]);
39
- const blobData2 = new Uint8Array([0x6c, 0x6c, 0x6f, 0x2c, 0x48, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x21]);
40
- const fileData = new MockFile([blobData1], 'pepe.dat');
41
- const mockCloudStorage = new mock_cloud_storage_1.MockCloudStorage('mock-data-folder/');
42
- beforeEach(() => {
43
- cloud_storage_1.CloudStorage.useCloudStorage(mockCloudStorage);
44
- testObj = new Test();
45
- file = new stored_file_1.StoredFile();
46
- });
47
- afterEach(() => mockCloudStorage.mockFileSystem = {});
48
- it('should save a file from Blob', async () => {
49
- await file.save({ data: blobData1 });
50
- expect(mockCloudStorage.mockFileSystem[file.id]).toBeDefined();
51
- expect(mockCloudStorage.mockFileSystem[file.id]).toEqual(JSON.stringify(blobData1));
52
- });
53
- it('should save a file from File', async () => {
54
- await file.save({ data: fileData });
55
- expect(mockCloudStorage.mockFileSystem[file.id]).toBeDefined();
56
- expect(mockCloudStorage.mockFileSystem[file.id]).toEqual(JSON.stringify({ data: [blobData1], name: 'pepe.dat' }));
57
- expect(file.originalFileName).toEqual('pepe.dat');
58
- expect(file.url).toEqual('mock-data-folder/pepe.dat');
59
- });
60
- it('should get a url', async () => {
61
- await file.save({ data: blobData1 });
62
- expect(file.url).toEqual('mock-data-folder/' + file.id);
63
- });
64
- it('should report metadata', async () => {
65
- await file.save({ data: blobData1, fileName: 'test.dat' });
66
- expect(file.originalFileName).toEqual('test.dat');
67
- expect(file.provider.className).toEqual('MockCloudStorage');
68
- });
69
- it('should delete file', async () => {
70
- await file.save({ data: blobData1 });
71
- expect(mockCloudStorage.mockFileSystem[file.id]).toBeDefined();
72
- await file.delete();
73
- expect(file.url).toBeUndefined();
74
- expect(mockCloudStorage.mockFileSystem[file.id]).not.toBeDefined();
75
- });
76
- it('should throw if not stored file', async () => {
77
- let thrown = false;
78
- try {
79
- await file.delete();
80
- }
81
- catch {
82
- thrown = true;
83
- }
84
- expect(thrown).toBeTruthy();
85
- });
86
- it('should overwrite file on subsequent writes', async () => {
87
- const deleteSpy = jest.spyOn(file, 'delete');
88
- await file.save({ data: 'first write' });
89
- expect(deleteSpy).not.toHaveBeenCalled();
90
- expect(mockCloudStorage.mockFileSystem[file.id]).toEqual('"first write"');
91
- await file.save({ data: 'second write' });
92
- expect(deleteSpy).toHaveBeenCalled();
93
- expect(mockCloudStorage.mockFileSystem[file.id]).toEqual('"second write"');
94
- });
95
- it('should save from pending file', async () => {
96
- file.setDataToStore(fileData);
97
- await file.save();
98
- expect(mockCloudStorage.mockFileSystem[file.id]).toBeDefined();
99
- expect(mockCloudStorage.mockFileSystem[file.id]).toEqual(JSON.stringify({ data: [blobData1], name: 'pepe.dat' }));
100
- });
101
- describe('Notify on change', () => {
102
- let spy;
103
- beforeEach(() => {
104
- spy = jest.fn();
105
- file.onChange(spy);
106
- });
107
- afterEach(() => spy.mockClear());
108
- it('should notify on seting pendind data to store', () => {
109
- file.setDataToStore(fileData);
110
- expect(spy).toHaveBeenNthCalledWith(1, {
111
- event: stored_file_1.StoredFileEvent.pendingDataSet,
112
- pendingData: fileData,
113
- storedFile: file
114
- });
115
- });
116
- it('should notify on data store', async () => {
117
- await file.save(fileData);
118
- expect(spy).toHaveBeenNthCalledWith(1, {
119
- event: stored_file_1.StoredFileEvent.stored,
120
- storedFile: file
121
- });
122
- });
123
- it('should notify on delete', async () => {
124
- await file.save(fileData);
125
- spy.mockClear();
126
- await file.delete();
127
- expect(spy).toHaveBeenNthCalledWith(1, {
128
- event: stored_file_1.StoredFileEvent.deleted,
129
- storedFile: file
130
- });
131
- });
132
- });
133
- describe('Streaming', () => {
134
- const database = {};
135
- let model;
136
- let testObj;
137
- beforeEach(() => {
138
- store_1.Store.useDataSource(new json_data_source_1.JsonDataSource(database));
139
- testObj = new Test();
140
- model = store_1.Store.getModel(testObj);
141
- });
142
- it('should save object with StoredFile', async () => {
143
- await testObj.file.save({ data: blobData1, fileName: 'test.dat' });
144
- await model.save(testObj);
145
- expect(database[testObj.className][testObj.id].file).toBeDefined();
146
- expect(database[testObj.className][testObj.id].file.reference).toEqual(testObj.file.id);
147
- expect(database[testObj.className][testObj.id].file.url).toEqual('mock-data-folder/' + testObj.file.id);
148
- expect(database[testObj.className][testObj.id].file.cloudStorageProviderName).toEqual('MockCloudStorage');
149
- expect(database[testObj.className][testObj.id].file.originalFileName).toEqual('test.dat');
150
- });
151
- it('should load object with StoredFile', async () => {
152
- await testObj.file.save({ data: blobData1, fileName: 'test.dat' });
153
- await model.save(testObj);
154
- const newTestObj = await model.findById(testObj.id);
155
- expect(newTestObj?.file).toBeInstanceOf(stored_file_1.StoredFile);
156
- expect(newTestObj?.file.url).toEqual('mock-data-folder/' + testObj.file.id);
157
- });
158
- it('should replace file on save after load', async () => {
159
- const deleteSpy = jest.spyOn(testObj.file, 'delete');
160
- await testObj.file.save({ data: blobData1, fileName: 'test.dat' });
161
- await model.save(testObj);
162
- const newTestObj = await model.findById(testObj.id);
163
- expect(newTestObj?.file).toBeInstanceOf(stored_file_1.StoredFile);
164
- expect(newTestObj?.file.url).toEqual('mock-data-folder/' + testObj.file.id);
165
- expect(deleteSpy).not.toHaveBeenCalled();
166
- testObj.file.setDataToStore(blobData2);
167
- await testObj.file.save();
168
- expect(mockCloudStorage.mockFileSystem[testObj.file.id]).toEqual(JSON.stringify(blobData2));
169
- expect(deleteSpy).toHaveBeenCalled();
170
- });
171
- });
172
- });
173
- //# sourceMappingURL=cloud-storage.spec.js.map