@multiplatform.one/test-utils 7.83.1 → 7.83.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var mocks_exports = {};
26
+ __export(mocks_exports, {
27
+ createMockFrappeApp: () => createMockFrappeApp,
28
+ createMockKeycloakContext: () => createMockKeycloakContext,
29
+ mockCreateDoc: () => mockCreateDoc,
30
+ mockDeleteDoc: () => mockDeleteDoc,
31
+ mockDocList: () => mockDocList,
32
+ mockGetDoc: () => mockGetDoc,
33
+ mockUpdateDoc: () => mockUpdateDoc
34
+ });
35
+ module.exports = __toCommonJS(mocks_exports);
36
+ var import_vitest = require("vitest");
37
+ function createMockFrappeApp() {
38
+ return {
39
+ db: {
40
+ getDocList: import_vitest.vi.fn().mockResolvedValue([]),
41
+ getDoc: import_vitest.vi.fn().mockResolvedValue(null),
42
+ createDoc: import_vitest.vi.fn().mockResolvedValue({}),
43
+ updateDoc: import_vitest.vi.fn().mockResolvedValue({}),
44
+ deleteDoc: import_vitest.vi.fn().mockResolvedValue({
45
+ message: "ok"
46
+ }),
47
+ getCount: import_vitest.vi.fn().mockResolvedValue(0),
48
+ getValue: import_vitest.vi.fn().mockResolvedValue(null),
49
+ setValue: import_vitest.vi.fn().mockResolvedValue(null),
50
+ exists: import_vitest.vi.fn().mockResolvedValue(false)
51
+ },
52
+ call: {
53
+ get: import_vitest.vi.fn().mockResolvedValue({
54
+ message: {}
55
+ }),
56
+ post: import_vitest.vi.fn().mockResolvedValue({
57
+ message: {}
58
+ })
59
+ },
60
+ auth: {
61
+ getLoggedInUser: import_vitest.vi.fn().mockResolvedValue("Administrator"),
62
+ login: import_vitest.vi.fn().mockResolvedValue({}),
63
+ logout: import_vitest.vi.fn().mockResolvedValue({})
64
+ },
65
+ file: {
66
+ uploadFile: import_vitest.vi.fn().mockResolvedValue({
67
+ file_url: "/files/test.pdf"
68
+ }),
69
+ deleteFile: import_vitest.vi.fn().mockResolvedValue({
70
+ message: "ok"
71
+ }),
72
+ getFileURL: import_vitest.vi.fn().mockReturnValue("/files/test.pdf")
73
+ }
74
+ };
75
+ }
76
+ function mockDocList(mockApp, doctype, data) {
77
+ mockApp.db.getDocList.mockImplementation(async function (dt) {
78
+ if (dt === doctype) return data;
79
+ return [];
80
+ });
81
+ }
82
+ function mockGetDoc(mockApp, doctype, name, data) {
83
+ mockApp.db.getDoc.mockImplementation(async function (dt, n) {
84
+ if (dt === doctype && n === name) return data;
85
+ return null;
86
+ });
87
+ }
88
+ function mockCreateDoc(mockApp, doctype, returnData) {
89
+ mockApp.db.createDoc.mockImplementation(async function (dt, doc) {
90
+ if (dt === doctype) return {
91
+ ...doc,
92
+ ...returnData
93
+ };
94
+ return {};
95
+ });
96
+ }
97
+ function mockUpdateDoc(mockApp, doctype, name, returnData) {
98
+ mockApp.db.updateDoc.mockImplementation(async function (dt, n, doc) {
99
+ if (dt === doctype && n === name) return {
100
+ name: n,
101
+ ...doc,
102
+ ...returnData
103
+ };
104
+ return {};
105
+ });
106
+ }
107
+ function mockDeleteDoc(mockApp, doctype, name) {
108
+ mockApp.db.deleteDoc.mockImplementation(async function (dt, n) {
109
+ if (dt === doctype && n === name) return {
110
+ message: "ok"
111
+ };
112
+ throw new Error(`Document ${dt}/${n} not found`);
113
+ });
114
+ }
115
+ function createMockKeycloakContext() {
116
+ var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
117
+ var {
118
+ authenticated = false,
119
+ roles = [],
120
+ token = authenticated ? "mock-jwt-token" : void 0,
121
+ user = {}
122
+ } = options;
123
+ var sub = user.sub || "mock-user-id";
124
+ var email = user.email || (authenticated ? "test@example.com" : void 0);
125
+ var name = user.name || (authenticated ? "Test User" : void 0);
126
+ return {
127
+ authenticated,
128
+ token: authenticated ? token : void 0,
129
+ tokenParsed: authenticated ? {
130
+ email,
131
+ name,
132
+ preferred_username: email,
133
+ sub,
134
+ realm_access: {
135
+ roles
136
+ }
137
+ } : void 0,
138
+ idToken: authenticated ? `mock-id-token-${sub}` : void 0,
139
+ refreshToken: authenticated ? `mock-refresh-token-${sub}` : void 0,
140
+ realmAccess: authenticated ? {
141
+ roles
142
+ } : void 0,
143
+ subject: authenticated ? sub : void 0,
144
+ email: authenticated ? email : void 0,
145
+ username: authenticated ? email : void 0,
146
+ login: import_vitest.vi.fn().mockResolvedValue(void 0),
147
+ logout: import_vitest.vi.fn().mockResolvedValue(void 0),
148
+ hasRealmRole: function hasRealmRole(role) {
149
+ return roles.includes(role);
150
+ },
151
+ hasResourceRole: function hasResourceRole(_role, _resource) {
152
+ return false;
153
+ }
154
+ };
155
+ }
156
+ //# sourceMappingURL=mocks.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","mocks_exports","createMockFrappeApp","createMockKeycloakContext","mockCreateDoc","mockDeleteDoc","mockDocList","mockGetDoc","mockUpdateDoc","module","exports","import_vitest","require","db","getDocList","vi","fn","mockResolvedValue","getDoc","createDoc","updateDoc","deleteDoc","message","getCount","getValue","setValue","exists","post","auth","getLoggedInUser","login","logout","file","uploadFile","file_url","deleteFile","getFileURL","mockReturnValue","mockApp","doctype","data","mockImplementation","dt","n","returnData","doc","Error","options","arguments","length","authenticated","roles","token","user","sub","email","tokenParsed","preferred_username","realm_access","idToken","refreshToken","realmAccess","subject","username","hasRealmRole","role","includes","hasResourceRole","_role","_resource"],"sources":["mocks.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar mocks_exports = {};\n__export(mocks_exports, {\n createMockFrappeApp: () => createMockFrappeApp,\n createMockKeycloakContext: () => createMockKeycloakContext,\n mockCreateDoc: () => mockCreateDoc,\n mockDeleteDoc: () => mockDeleteDoc,\n mockDocList: () => mockDocList,\n mockGetDoc: () => mockGetDoc,\n mockUpdateDoc: () => mockUpdateDoc\n});\nmodule.exports = __toCommonJS(mocks_exports);\nvar import_vitest = require(\"vitest\");\nfunction createMockFrappeApp() {\n return {\n db: {\n getDocList: import_vitest.vi.fn().mockResolvedValue([]),\n getDoc: import_vitest.vi.fn().mockResolvedValue(null),\n createDoc: import_vitest.vi.fn().mockResolvedValue({}),\n updateDoc: import_vitest.vi.fn().mockResolvedValue({}),\n deleteDoc: import_vitest.vi.fn().mockResolvedValue({\n message: \"ok\"\n }),\n getCount: import_vitest.vi.fn().mockResolvedValue(0),\n getValue: import_vitest.vi.fn().mockResolvedValue(null),\n setValue: import_vitest.vi.fn().mockResolvedValue(null),\n exists: import_vitest.vi.fn().mockResolvedValue(false)\n },\n call: {\n get: import_vitest.vi.fn().mockResolvedValue({\n message: {}\n }),\n post: import_vitest.vi.fn().mockResolvedValue({\n message: {}\n })\n },\n auth: {\n getLoggedInUser: import_vitest.vi.fn().mockResolvedValue(\"Administrator\"),\n login: import_vitest.vi.fn().mockResolvedValue({}),\n logout: import_vitest.vi.fn().mockResolvedValue({})\n },\n file: {\n uploadFile: import_vitest.vi.fn().mockResolvedValue({\n file_url: \"/files/test.pdf\"\n }),\n deleteFile: import_vitest.vi.fn().mockResolvedValue({\n message: \"ok\"\n }),\n getFileURL: import_vitest.vi.fn().mockReturnValue(\"/files/test.pdf\")\n }\n };\n}\nfunction mockDocList(mockApp, doctype, data) {\n mockApp.db.getDocList.mockImplementation(async function(dt) {\n if (dt === doctype) return data;\n return [];\n });\n}\nfunction mockGetDoc(mockApp, doctype, name, data) {\n mockApp.db.getDoc.mockImplementation(async function(dt, n) {\n if (dt === doctype && n === name) return data;\n return null;\n });\n}\nfunction mockCreateDoc(mockApp, doctype, returnData) {\n mockApp.db.createDoc.mockImplementation(async function(dt, doc) {\n if (dt === doctype) return {\n ...doc,\n ...returnData\n };\n return {};\n });\n}\nfunction mockUpdateDoc(mockApp, doctype, name, returnData) {\n mockApp.db.updateDoc.mockImplementation(async function(dt, n, doc) {\n if (dt === doctype && n === name) return {\n name: n,\n ...doc,\n ...returnData\n };\n return {};\n });\n}\nfunction mockDeleteDoc(mockApp, doctype, name) {\n mockApp.db.deleteDoc.mockImplementation(async function(dt, n) {\n if (dt === doctype && n === name) return {\n message: \"ok\"\n };\n throw new Error(`Document ${dt}/${n} not found`);\n });\n}\nfunction createMockKeycloakContext() {\n var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var { authenticated = false, roles = [], token = authenticated ? \"mock-jwt-token\" : void 0, user = {} } = options;\n var sub = user.sub || \"mock-user-id\";\n var email = user.email || (authenticated ? \"test@example.com\" : void 0);\n var name = user.name || (authenticated ? \"Test User\" : void 0);\n return {\n authenticated,\n token: authenticated ? token : void 0,\n tokenParsed: authenticated ? {\n email,\n name,\n preferred_username: email,\n sub,\n realm_access: {\n roles\n }\n } : void 0,\n idToken: authenticated ? `mock-id-token-${sub}` : void 0,\n refreshToken: authenticated ? `mock-refresh-token-${sub}` : void 0,\n realmAccess: authenticated ? {\n roles\n } : void 0,\n subject: authenticated ? sub : void 0,\n email: authenticated ? email : void 0,\n username: authenticated ? email : void 0,\n login: import_vitest.vi.fn().mockResolvedValue(void 0),\n logout: import_vitest.vi.fn().mockResolvedValue(void 0),\n hasRealmRole: function hasRealmRole(role) {\n return roles.includes(role);\n },\n hasResourceRole: function hasResourceRole(_role, _resource) {\n return false;\n }\n };\n}\n//# sourceMappingURL=mocks.js.map\n"],"mappings":"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","ignoreList":[]}