@or-sdk/users 2.4.2 → 2.4.3-beta.2410.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.
- package/dist/cjs/__tests__/Users.spec.js +15 -0
- package/dist/cjs/__tests__/Users.spec.js.map +1 -1
- package/dist/cjs/__tests__/mocks/profile.js +13 -1
- package/dist/cjs/__tests__/mocks/profile.js.map +1 -1
- package/dist/cjs/schemas.js +3 -1
- package/dist/cjs/schemas.js.map +1 -1
- package/dist/esm/__tests__/Users.spec.js +7 -1
- package/dist/esm/__tests__/Users.spec.js.map +1 -1
- package/dist/esm/__tests__/mocks/profile.js +12 -0
- package/dist/esm/__tests__/mocks/profile.js.map +1 -1
- package/dist/esm/schemas.js +3 -1
- package/dist/esm/schemas.js.map +1 -1
- package/dist/types/__tests__/mocks/profile.d.ts +12 -0
- package/dist/types/__tests__/mocks/profile.d.ts.map +1 -1
- package/dist/types/schemas.d.ts +1 -1
- package/dist/types/schemas.d.ts.map +1 -1
- package/package.json +2 -3
- package/src/__tests__/Users.spec.ts +11 -0
- package/src/__tests__/mocks/profile.ts +13 -0
- package/src/schemas.ts +3 -1
|
@@ -78,6 +78,21 @@ function buildUsersInstance() {
|
|
|
78
78
|
}
|
|
79
79
|
});
|
|
80
80
|
}); });
|
|
81
|
+
(0, vitest_1.it)('should allow for empty phone number', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
82
|
+
var api, res;
|
|
83
|
+
return __generator(this, function (_a) {
|
|
84
|
+
switch (_a.label) {
|
|
85
|
+
case 0:
|
|
86
|
+
profile_1.mockApiServer.use(msw_1.http.get(url, (0, profile_1.okRes)(profile_1.profileNoPhoneFixture)));
|
|
87
|
+
api = buildUsersInstance();
|
|
88
|
+
return [4, api.getCurrentMultiUserProfile()];
|
|
89
|
+
case 1:
|
|
90
|
+
res = _a.sent();
|
|
91
|
+
(0, vitest_1.expect)(res).toEqual(profile_1.profileNoPhoneFixture);
|
|
92
|
+
return [2];
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}); });
|
|
81
96
|
(0, vitest_1.it)('should return error message if API is not working', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
82
97
|
var testError, api;
|
|
83
98
|
return __generator(this, function (_a) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Users.spec.js","sourceRoot":"","sources":["../../../src/__tests__/Users.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA8E;AAC9E,2BAA2B;AAE3B,kCAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"Users.spec.js","sourceRoot":"","sources":["../../../src/__tests__/Users.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.errorRes = exports.okRes = exports.mockApiServer = exports.profileFixture = exports.USERS_URL = exports.SDK_URL = void 0;
|
|
3
|
+
exports.errorRes = exports.okRes = exports.mockApiServer = exports.profileNoPhoneFixture = exports.profileFixture = exports.USERS_URL = exports.SDK_URL = void 0;
|
|
4
4
|
var msw_1 = require("msw");
|
|
5
5
|
var node_1 = require("msw/node");
|
|
6
6
|
exports.SDK_URL = 'http://sdkapi.url';
|
|
@@ -17,6 +17,18 @@ exports.profileFixture = {
|
|
|
17
17
|
},
|
|
18
18
|
},
|
|
19
19
|
};
|
|
20
|
+
exports.profileNoPhoneFixture = {
|
|
21
|
+
id: '06ae0b37-13e0-4880-91b7-382d4b56e1fa',
|
|
22
|
+
username: 'test.user@example.com',
|
|
23
|
+
data: {
|
|
24
|
+
profile: {
|
|
25
|
+
icon: 'https://cdn.example.com/profile.jpg',
|
|
26
|
+
phoneNumber: '',
|
|
27
|
+
firstName: 'Test',
|
|
28
|
+
lastName: 'User',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
};
|
|
20
32
|
exports.mockApiServer = (0, node_1.setupServer)();
|
|
21
33
|
function okRes(data, status) {
|
|
22
34
|
if (status === void 0) { status = 200; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/__tests__/mocks/profile.ts"],"names":[],"mappings":";;;AAAA,2BAAiD;AACjD,iCAAuC;AAE1B,QAAA,OAAO,GAAG,mBAAmB,CAAC;AAC9B,QAAA,SAAS,GAAG,mBAAmB,CAAC;AAEhC,QAAA,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,QAAQ,EAAE,uBAAuB;IACjC,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,IAAI,EAAE,qCAAqC;YAC3C,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,MAAM;SACjB;KACF;CACF,CAAC;AAEW,QAAA,aAAa,GAAG,IAAA,kBAAW,GAAE,CAAC;AAE3C,SAAgB,KAAK,CAAC,IAAkB,EAAE,MAAY;IAAZ,uBAAA,EAAA,YAAY;IACpD,OAAO,cAAM,OAAA,kBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC,EAAnC,CAAmC,CAAC;AACnD,CAAC;AAFD,sBAEC;AAED,SAAgB,QAAQ,CAAC,YAAoB,EAAE,MAAY;IAAZ,uBAAA,EAAA,YAAY;IACzD,OAAO,cAAM,OAAA,kBAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC,EAAtD,CAAsD,CAAC;AACtE,CAAC;AAFD,4BAEC"}
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/__tests__/mocks/profile.ts"],"names":[],"mappings":";;;AAAA,2BAAiD;AACjD,iCAAuC;AAE1B,QAAA,OAAO,GAAG,mBAAmB,CAAC;AAC9B,QAAA,SAAS,GAAG,mBAAmB,CAAC;AAEhC,QAAA,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,QAAQ,EAAE,uBAAuB;IACjC,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,IAAI,EAAE,qCAAqC;YAC3C,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,MAAM;SACjB;KACF;CACF,CAAC;AAEW,QAAA,qBAAqB,GAAG;IACnC,EAAE,EAAE,sCAAsC;IAC1C,QAAQ,EAAE,uBAAuB;IACjC,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,IAAI,EAAE,qCAAqC;YAC3C,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,MAAM;SACjB;KACF;CACF,CAAC;AAEW,QAAA,aAAa,GAAG,IAAA,kBAAW,GAAE,CAAC;AAE3C,SAAgB,KAAK,CAAC,IAAkB,EAAE,MAAY;IAAZ,uBAAA,EAAA,YAAY;IACpD,OAAO,cAAM,OAAA,kBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC,EAAnC,CAAmC,CAAC;AACnD,CAAC;AAFD,sBAEC;AAED,SAAgB,QAAQ,CAAC,YAAoB,EAAE,MAAY;IAAZ,uBAAA,EAAA,YAAY;IACzD,OAAO,cAAM,OAAA,kBAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC,EAAtD,CAAsD,CAAC;AACtE,CAAC;AAFD,4BAEC"}
|
package/dist/cjs/schemas.js
CHANGED
|
@@ -14,7 +14,9 @@ exports.CurrentMultiUserProfile = zod_1.z.object({
|
|
|
14
14
|
profile: zod_1.z.object({
|
|
15
15
|
firstName: zod_1.z.string(),
|
|
16
16
|
lastName: zod_1.z.string(),
|
|
17
|
-
phoneNumber: zod_1.z.string().refine(isMobilePhone_1.default, { message: 'Has to be a phone number' })
|
|
17
|
+
phoneNumber: zod_1.z.string().refine(isMobilePhone_1.default, { message: 'Has to be a phone number' })
|
|
18
|
+
.or(zod_1.z.literal(''))
|
|
19
|
+
.optional(),
|
|
18
20
|
icon: zod_1.z.string().url().optional(),
|
|
19
21
|
}).strict(),
|
|
20
22
|
}).strict(),
|
package/dist/cjs/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAwB;AACxB,kEAA4C;AAC5C,8EAAwD;AAE3C,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAErB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACvE,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YAChB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;YACpB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,uBAAa,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAwB;AACxB,kEAA4C;AAC5C,8EAAwD;AAE3C,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAErB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,iBAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACvE,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;YAChB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;YACpB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,uBAAa,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;iBACnF,EAAE,CAAC,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBACjB,QAAQ,EAAE;YACb,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SAClC,CAAC,CAAC,MAAM,EAAE;KACZ,CAAC,CAAC,MAAM,EAAE;CACZ,CAAC,CAAC,MAAM,EAAE,CAAC"}
|
|
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { afterAll, afterEach, beforeAll, describe, expect, it } from 'vitest';
|
|
11
11
|
import { http } from 'msw';
|
|
12
12
|
import { Users } from '../Users';
|
|
13
|
-
import { SDK_URL, USERS_URL, mockApiServer, okRes, errorRes, profileFixture, } from './mocks/profile';
|
|
13
|
+
import { SDK_URL, USERS_URL, mockApiServer, okRes, errorRes, profileFixture, profileNoPhoneFixture, } from './mocks/profile';
|
|
14
14
|
function buildUsersInstance() {
|
|
15
15
|
return new Users({
|
|
16
16
|
token: 'test-token',
|
|
@@ -36,6 +36,12 @@ describe('Users API', () => {
|
|
|
36
36
|
const res = yield api.getCurrentMultiUserProfile();
|
|
37
37
|
expect(res).toEqual(profileFixture);
|
|
38
38
|
}));
|
|
39
|
+
it('should allow for empty phone number', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
|
+
mockApiServer.use(http.get(url, okRes(profileNoPhoneFixture)));
|
|
41
|
+
const api = buildUsersInstance();
|
|
42
|
+
const res = yield api.getCurrentMultiUserProfile();
|
|
43
|
+
expect(res).toEqual(profileNoPhoneFixture);
|
|
44
|
+
}));
|
|
39
45
|
it('should return error message if API is not working', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
46
|
const testError = `Test error ${Date.now()}`;
|
|
41
47
|
mockApiServer.use(http.get(url, errorRes(testError)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Users.spec.js","sourceRoot":"","sources":["../../../src/__tests__/Users.spec.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EACL,OAAO,EACP,SAAS,EACT,aAAa,EACb,KAAK,EACL,QAAQ,EACR,cAAc,
|
|
1
|
+
{"version":3,"file":"Users.spec.js","sourceRoot":"","sources":["../../../src/__tests__/Users.spec.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EACL,OAAO,EACP,SAAS,EACT,aAAa,EACb,KAAK,EACL,QAAQ,EACR,cAAc,EACd,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,SAAS,kBAAkB;IACzB,OAAO,IAAI,KAAK,CAAC;QACf,KAAK,EAAE,YAAY;QACnB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,OAAO;KAChB,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,SAAS,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,SAAS,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/C,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;IAEtC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,sBAAsB,EAAE,GAAS,EAAE;YACpC,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;QAC1C,MAAM,GAAG,GAAG,GAAG,OAAO,kBAAkB,CAAC;QAEzC,EAAE,CAAC,4CAA4C,EAAE,GAAS,EAAE;YAC1D,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC,CAAQ,CAC5C,CAAC;YAEF,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,0BAA0B,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACnD,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAQ,CACnD,CAAC;YAEF,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,0BAA0B,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC7C,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAS,EAAE;YACjE,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC7C,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAQ,CAAC,CAAC;YAE7D,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACtE,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;YACpD,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAQ,CACrD,CAAC;YAEF,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;QAClF,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAS,EAAE;YACvE,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAQ,CACrD,CAAC;YAEF,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC;QACpG,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,GAAS,EAAE;YAC5E,aAAa,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAQ,CACrD,CAAC;YAEF,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,0BAA0B,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACtE,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -14,6 +14,18 @@ export const profileFixture = {
|
|
|
14
14
|
},
|
|
15
15
|
},
|
|
16
16
|
};
|
|
17
|
+
export const profileNoPhoneFixture = {
|
|
18
|
+
id: '06ae0b37-13e0-4880-91b7-382d4b56e1fa',
|
|
19
|
+
username: 'test.user@example.com',
|
|
20
|
+
data: {
|
|
21
|
+
profile: {
|
|
22
|
+
icon: 'https://cdn.example.com/profile.jpg',
|
|
23
|
+
phoneNumber: '',
|
|
24
|
+
firstName: 'Test',
|
|
25
|
+
lastName: 'User',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
};
|
|
17
29
|
export const mockApiServer = setupServer();
|
|
18
30
|
export function okRes(data, status = 200) {
|
|
19
31
|
return () => HttpResponse.json(data, { status });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/__tests__/mocks/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,KAAK,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,CAAC,MAAM,OAAO,GAAG,mBAAmB,CAAC;AAC3C,MAAM,CAAC,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,QAAQ,EAAE,uBAAuB;IACjC,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,IAAI,EAAE,qCAAqC;YAC3C,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,MAAM;SACjB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,EAAE,CAAC;AAE3C,MAAM,UAAU,KAAK,CAAC,IAAkB,EAAE,MAAM,GAAG,GAAG;IACpD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,YAAoB,EAAE,MAAM,GAAG,GAAG;IACzD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACtE,CAAC"}
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../../src/__tests__/mocks/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,KAAK,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,CAAC,MAAM,OAAO,GAAG,mBAAmB,CAAC;AAC3C,MAAM,CAAC,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,sCAAsC;IAC1C,QAAQ,EAAE,uBAAuB;IACjC,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,IAAI,EAAE,qCAAqC;YAC3C,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,MAAM;SACjB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,EAAE,EAAE,sCAAsC;IAC1C,QAAQ,EAAE,uBAAuB;IACjC,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,IAAI,EAAE,qCAAqC;YAC3C,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,MAAM;YACjB,QAAQ,EAAE,MAAM;SACjB;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,EAAE,CAAC;AAE3C,MAAM,UAAU,KAAK,CAAC,IAAkB,EAAE,MAAM,GAAG,GAAG;IACpD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,YAAoB,EAAE,MAAM,GAAG,GAAG;IACzD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACtE,CAAC"}
|
package/dist/esm/schemas.js
CHANGED
|
@@ -8,7 +8,9 @@ export const CurrentMultiUserProfile = z.object({
|
|
|
8
8
|
profile: z.object({
|
|
9
9
|
firstName: z.string(),
|
|
10
10
|
lastName: z.string(),
|
|
11
|
-
phoneNumber: z.string().refine(isMobilePhone, { message: 'Has to be a phone number' })
|
|
11
|
+
phoneNumber: z.string().refine(isMobilePhone, { message: 'Has to be a phone number' })
|
|
12
|
+
.or(z.literal(''))
|
|
13
|
+
.optional(),
|
|
12
14
|
icon: z.string().url().optional(),
|
|
13
15
|
}).strict(),
|
|
14
16
|
}).strict(),
|
package/dist/esm/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAExD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAErB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAExD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAErB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IACvE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;YAChB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;iBACnF,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;iBACjB,QAAQ,EAAE;YACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SAClC,CAAC,CAAC,MAAM,EAAE;KACZ,CAAC,CAAC,MAAM,EAAE;CACZ,CAAC,CAAC,MAAM,EAAE,CAAC"}
|
|
@@ -13,6 +13,18 @@ export declare const profileFixture: {
|
|
|
13
13
|
};
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
|
+
export declare const profileNoPhoneFixture: {
|
|
17
|
+
id: string;
|
|
18
|
+
username: string;
|
|
19
|
+
data: {
|
|
20
|
+
profile: {
|
|
21
|
+
icon: string;
|
|
22
|
+
phoneNumber: string;
|
|
23
|
+
firstName: string;
|
|
24
|
+
lastName: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
};
|
|
16
28
|
export declare const mockApiServer: import("msw/lib/node").SetupServer;
|
|
17
29
|
export declare function okRes(data: JsonBodyType, status?: number): () => import("msw/lib/core/RequestHandler-CwjkprZE").e<string | number | boolean | Record<string, any>>;
|
|
18
30
|
export declare function errorRes(errorMessage: string, status?: number): () => import("msw/lib/core/RequestHandler-CwjkprZE").e<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/mocks/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,KAAK,CAAC;AAGjD,eAAO,MAAM,OAAO,sBAAsB,CAAC;AAC3C,eAAO,MAAM,SAAS,sBAAsB,CAAC;AAE7C,eAAO,MAAM,cAAc;;;;;;;;;;;CAW1B,CAAC;AAEF,eAAO,MAAM,aAAa,oCAAgB,CAAC;AAE3C,wBAAgB,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,SAAM,2GAErD;AAED,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,SAAM;;GAE1D"}
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/mocks/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,KAAK,CAAC;AAGjD,eAAO,MAAM,OAAO,sBAAsB,CAAC;AAC3C,eAAO,MAAM,SAAS,sBAAsB,CAAC;AAE7C,eAAO,MAAM,cAAc;;;;;;;;;;;CAW1B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;CAWjC,CAAC;AAEF,eAAO,MAAM,aAAa,oCAAgB,CAAC;AAE3C,wBAAgB,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,SAAM,2GAErD;AAED,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,SAAM;;GAE1D"}
|
package/dist/types/schemas.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const CurrentMultiUserProfile: z.ZodObject<{
|
|
|
6
6
|
profile: z.ZodObject<{
|
|
7
7
|
firstName: z.ZodString;
|
|
8
8
|
lastName: z.ZodString;
|
|
9
|
-
phoneNumber: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
9
|
+
phoneNumber: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, string, string>, z.ZodLiteral<"">]>>;
|
|
10
10
|
icon: z.ZodOptional<z.ZodString>;
|
|
11
11
|
}, "strict", z.ZodTypeAny, {
|
|
12
12
|
firstName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAczB,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@or-sdk/users",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.3-beta.2410.0",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -33,6 +33,5 @@
|
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
|
-
}
|
|
37
|
-
"gitHead": "ee07ab4b4e91f43578332e1cda87464ec7f07285"
|
|
36
|
+
}
|
|
38
37
|
}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
okRes,
|
|
10
10
|
errorRes,
|
|
11
11
|
profileFixture,
|
|
12
|
+
profileNoPhoneFixture,
|
|
12
13
|
} from './mocks/profile';
|
|
13
14
|
|
|
14
15
|
function buildUsersInstance() {
|
|
@@ -44,6 +45,16 @@ describe('Users API', () => {
|
|
|
44
45
|
expect(res).toEqual(profileFixture);
|
|
45
46
|
});
|
|
46
47
|
|
|
48
|
+
it('should allow for empty phone number', async () => {
|
|
49
|
+
mockApiServer.use(
|
|
50
|
+
http.get(url, okRes(profileNoPhoneFixture)) as any,
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
const api = buildUsersInstance();
|
|
54
|
+
const res = await api.getCurrentMultiUserProfile();
|
|
55
|
+
expect(res).toEqual(profileNoPhoneFixture);
|
|
56
|
+
});
|
|
57
|
+
|
|
47
58
|
it('should return error message if API is not working', async () => {
|
|
48
59
|
const testError = `Test error ${Date.now()}`;
|
|
49
60
|
mockApiServer.use(http.get(url, errorRes(testError)) as any);
|
|
@@ -17,6 +17,19 @@ export const profileFixture = {
|
|
|
17
17
|
},
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
+
export const profileNoPhoneFixture = {
|
|
21
|
+
id: '06ae0b37-13e0-4880-91b7-382d4b56e1fa',
|
|
22
|
+
username: 'test.user@example.com',
|
|
23
|
+
data: {
|
|
24
|
+
profile: {
|
|
25
|
+
icon: 'https://cdn.example.com/profile.jpg',
|
|
26
|
+
phoneNumber: '',
|
|
27
|
+
firstName: 'Test',
|
|
28
|
+
lastName: 'User',
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
|
|
20
33
|
export const mockApiServer = setupServer();
|
|
21
34
|
|
|
22
35
|
export function okRes(data: JsonBodyType, status = 200) {
|
package/src/schemas.ts
CHANGED
|
@@ -10,7 +10,9 @@ export const CurrentMultiUserProfile = z.object({
|
|
|
10
10
|
profile: z.object({
|
|
11
11
|
firstName: z.string(),
|
|
12
12
|
lastName: z.string(),
|
|
13
|
-
phoneNumber: z.string().refine(isMobilePhone, { message: 'Has to be a phone number' })
|
|
13
|
+
phoneNumber: z.string().refine(isMobilePhone, { message: 'Has to be a phone number' })
|
|
14
|
+
.or(z.literal(''))
|
|
15
|
+
.optional(),
|
|
14
16
|
icon: z.string().url().optional(),
|
|
15
17
|
}).strict(),
|
|
16
18
|
}).strict(),
|