@saltcorn/data 1.6.0-beta.1 → 1.6.0-beta.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.
Files changed (154) hide show
  1. package/dist/base-plugin/index.d.ts +12 -3
  2. package/dist/base-plugin/index.d.ts.map +1 -1
  3. package/dist/base-plugin/types.d.ts +19 -9
  4. package/dist/base-plugin/types.d.ts.map +1 -1
  5. package/dist/base-plugin/types.js +35 -9
  6. package/dist/base-plugin/types.js.map +1 -1
  7. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  8. package/dist/base-plugin/viewtemplates/edit.js +2 -8
  9. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  10. package/dist/db/state.d.ts.map +1 -1
  11. package/dist/db/state.js +15 -5
  12. package/dist/db/state.js.map +1 -1
  13. package/dist/mobile-mocks/node/fs/promises.d.ts +1 -0
  14. package/dist/mobile-mocks/node/fs/promises.d.ts.map +1 -1
  15. package/dist/mobile-mocks/node/fs/promises.js +4 -0
  16. package/dist/mobile-mocks/node/fs/promises.js.map +1 -1
  17. package/dist/mobile-mocks/node/fs.d.ts +2 -0
  18. package/dist/mobile-mocks/node/fs.d.ts.map +1 -1
  19. package/dist/mobile-mocks/node/fs.js +36 -0
  20. package/dist/mobile-mocks/node/fs.js.map +1 -1
  21. package/dist/models/index.d.ts.map +1 -1
  22. package/dist/models/scheduler.d.ts.map +1 -1
  23. package/dist/models/scheduler.js +15 -5
  24. package/dist/models/scheduler.js.map +1 -1
  25. package/dist/models/table.js +1 -1
  26. package/dist/models/table.js.map +1 -1
  27. package/dist/standard-menu.d.ts.map +1 -1
  28. package/dist/standard-menu.js +19 -0
  29. package/dist/standard-menu.js.map +1 -1
  30. package/dist/tests/actions.test.d.ts +2 -0
  31. package/dist/tests/actions.test.d.ts.map +1 -0
  32. package/dist/tests/actions.test.js +936 -0
  33. package/dist/tests/actions.test.js.map +1 -0
  34. package/dist/tests/auth.test.d.ts +2 -0
  35. package/dist/tests/auth.test.d.ts.map +1 -0
  36. package/dist/tests/auth.test.js +824 -0
  37. package/dist/tests/auth.test.js.map +1 -0
  38. package/dist/tests/auxtest.test.d.ts +2 -0
  39. package/dist/tests/auxtest.test.d.ts.map +1 -0
  40. package/dist/tests/auxtest.test.js +562 -0
  41. package/dist/tests/auxtest.test.js.map +1 -0
  42. package/dist/tests/base.test.d.ts +2 -0
  43. package/dist/tests/base.test.d.ts.map +1 -0
  44. package/dist/tests/base.test.js +30 -0
  45. package/dist/tests/base.test.js.map +1 -0
  46. package/dist/tests/calc.test.d.ts +2 -0
  47. package/dist/tests/calc.test.d.ts.map +1 -0
  48. package/dist/tests/calc.test.js +1081 -0
  49. package/dist/tests/calc.test.js.map +1 -0
  50. package/dist/tests/composite_pk.test.d.ts +2 -0
  51. package/dist/tests/composite_pk.test.d.ts.map +1 -0
  52. package/dist/tests/composite_pk.test.js +98 -0
  53. package/dist/tests/composite_pk.test.js.map +1 -0
  54. package/dist/tests/config.test.d.ts +2 -0
  55. package/dist/tests/config.test.d.ts.map +1 -0
  56. package/dist/tests/config.test.js +86 -0
  57. package/dist/tests/config.test.js.map +1 -0
  58. package/dist/tests/db.test.d.ts +2 -0
  59. package/dist/tests/db.test.d.ts.map +1 -0
  60. package/dist/tests/db.test.js +178 -0
  61. package/dist/tests/db.test.js.map +1 -0
  62. package/dist/tests/discover.test.d.ts +2 -0
  63. package/dist/tests/discover.test.d.ts.map +1 -0
  64. package/dist/tests/discover.test.js +245 -0
  65. package/dist/tests/discover.test.js.map +1 -0
  66. package/dist/tests/edit.test.d.ts +2 -0
  67. package/dist/tests/edit.test.d.ts.map +1 -0
  68. package/dist/tests/edit.test.js +1161 -0
  69. package/dist/tests/edit.test.js.map +1 -0
  70. package/dist/tests/email.test.d.ts +2 -0
  71. package/dist/tests/email.test.d.ts.map +1 -0
  72. package/dist/tests/email.test.js +255 -0
  73. package/dist/tests/email.test.js.map +1 -0
  74. package/dist/tests/exact_views.test.d.ts +2 -0
  75. package/dist/tests/exact_views.test.d.ts.map +1 -0
  76. package/dist/tests/exact_views.test.js +1363 -0
  77. package/dist/tests/exact_views.test.js.map +1 -0
  78. package/dist/tests/field.test.d.ts +2 -0
  79. package/dist/tests/field.test.d.ts.map +1 -0
  80. package/dist/tests/field.test.js +588 -0
  81. package/dist/tests/field.test.js.map +1 -0
  82. package/dist/tests/fieldviews.test.d.ts +2 -0
  83. package/dist/tests/fieldviews.test.d.ts.map +1 -0
  84. package/dist/tests/fieldviews.test.js +74 -0
  85. package/dist/tests/fieldviews.test.js.map +1 -0
  86. package/dist/tests/file.test.d.ts +2 -0
  87. package/dist/tests/file.test.d.ts.map +1 -0
  88. package/dist/tests/file.test.js +148 -0
  89. package/dist/tests/file.test.js.map +1 -0
  90. package/dist/tests/filter.test.d.ts +2 -0
  91. package/dist/tests/filter.test.d.ts.map +1 -0
  92. package/dist/tests/filter.test.js +496 -0
  93. package/dist/tests/filter.test.js.map +1 -0
  94. package/dist/tests/form.test.d.ts +2 -0
  95. package/dist/tests/form.test.d.ts.map +1 -0
  96. package/dist/tests/form.test.js +264 -0
  97. package/dist/tests/form.test.js.map +1 -0
  98. package/dist/tests/list.test.d.ts +2 -0
  99. package/dist/tests/list.test.d.ts.map +1 -0
  100. package/dist/tests/list.test.js +1037 -0
  101. package/dist/tests/list.test.js.map +1 -0
  102. package/dist/tests/models.test.d.ts +2 -0
  103. package/dist/tests/models.test.d.ts.map +1 -0
  104. package/dist/tests/models.test.js +417 -0
  105. package/dist/tests/models.test.js.map +1 -0
  106. package/dist/tests/page.test.d.ts +2 -0
  107. package/dist/tests/page.test.d.ts.map +1 -0
  108. package/dist/tests/page.test.js +26 -0
  109. package/dist/tests/page.test.js.map +1 -0
  110. package/dist/tests/page_group.test.d.ts +2 -0
  111. package/dist/tests/page_group.test.d.ts.map +1 -0
  112. package/dist/tests/page_group.test.js +51 -0
  113. package/dist/tests/page_group.test.js.map +1 -0
  114. package/dist/tests/plugin.test.d.ts +2 -0
  115. package/dist/tests/plugin.test.d.ts.map +1 -0
  116. package/dist/tests/plugin.test.js +60 -0
  117. package/dist/tests/plugin.test.js.map +1 -0
  118. package/dist/tests/show.test.d.ts +2 -0
  119. package/dist/tests/show.test.d.ts.map +1 -0
  120. package/dist/tests/show.test.js +561 -0
  121. package/dist/tests/show.test.js.map +1 -0
  122. package/dist/tests/state.test.d.ts +2 -0
  123. package/dist/tests/state.test.d.ts.map +1 -0
  124. package/dist/tests/state.test.js +82 -0
  125. package/dist/tests/state.test.js.map +1 -0
  126. package/dist/tests/table.test.d.ts +2 -0
  127. package/dist/tests/table.test.d.ts.map +1 -0
  128. package/dist/tests/table.test.js +2717 -0
  129. package/dist/tests/table.test.js.map +1 -0
  130. package/dist/tests/table_history.test.d.ts +2 -0
  131. package/dist/tests/table_history.test.d.ts.map +1 -0
  132. package/dist/tests/table_history.test.js +413 -0
  133. package/dist/tests/table_history.test.js.map +1 -0
  134. package/dist/tests/tag.test.d.ts +2 -0
  135. package/dist/tests/tag.test.d.ts.map +1 -0
  136. package/dist/tests/tag.test.js +97 -0
  137. package/dist/tests/tag.test.js.map +1 -0
  138. package/dist/tests/user.test.d.ts +2 -0
  139. package/dist/tests/user.test.d.ts.map +1 -0
  140. package/dist/tests/user.test.js +441 -0
  141. package/dist/tests/user.test.js.map +1 -0
  142. package/dist/tests/view.test.d.ts +2 -0
  143. package/dist/tests/view.test.d.ts.map +1 -0
  144. package/dist/tests/view.test.js +699 -0
  145. package/dist/tests/view.test.js.map +1 -0
  146. package/dist/tests/workflow.test.d.ts +2 -0
  147. package/dist/tests/workflow.test.d.ts.map +1 -0
  148. package/dist/tests/workflow.test.js +303 -0
  149. package/dist/tests/workflow.test.js.map +1 -0
  150. package/dist/tests/workflow_run.test.d.ts +2 -0
  151. package/dist/tests/workflow_run.test.d.ts.map +1 -0
  152. package/dist/tests/workflow_run.test.js +922 -0
  153. package/dist/tests/workflow_run.test.js.map +1 -0
  154. package/package.json +8 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exact_views.test.js","sourceRoot":"","sources":["../../tests/exact_views.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=field.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.test.d.ts","sourceRoot":"","sources":["../../tests/field.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,588 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const table_1 = __importDefault(require("../models/table"));
7
+ const field_1 = __importDefault(require("../models/field"));
8
+ const db_1 = __importDefault(require("../db"));
9
+ const { getState } = require("../db/state");
10
+ const assertions_1 = require("./assertions");
11
+ const globals_1 = require("@jest/globals");
12
+ const mocks_1 = __importDefault(require("./mocks"));
13
+ const promises_1 = require("fs/promises");
14
+ const PlainDate = require("@saltcorn/plain-date");
15
+ const { sleep, plugin_with_routes } = mocks_1.default;
16
+ getState().registerPlugin("base", require("../base-plugin"));
17
+ (0, globals_1.afterAll)(db_1.default.close);
18
+ (0, globals_1.beforeAll)(async () => {
19
+ await require("../db/reset_schema")();
20
+ await require("../db/fixtures")();
21
+ });
22
+ (0, globals_1.describe)("Field", () => {
23
+ (0, globals_1.it)("should add and then delete required field", async () => {
24
+ const patients = table_1.default.findOne({ name: "patients" });
25
+ const fc = await field_1.default.create({
26
+ table: patients,
27
+ label: "Height1",
28
+ type: "Integer",
29
+ required: true,
30
+ attributes: { default: 6 },
31
+ });
32
+ (0, assertions_1.assertIsSet)(fc.id);
33
+ (0, globals_1.expect)(fc.id > 0).toBe(true);
34
+ const f = await field_1.default.findOne({ id: fc.id });
35
+ (0, globals_1.expect)(f.name).toBe("height1");
36
+ (0, globals_1.expect)(f.toJson.name).toBe("height1");
37
+ (0, globals_1.expect)(f.listKey).toBe("height1");
38
+ (0, globals_1.expect)(f.presets).toBe(null);
39
+ await f.delete();
40
+ const fs = await field_1.default.find({ name: "height1" });
41
+ (0, globals_1.expect)(fs.length).toBe(0);
42
+ const fs1 = await field_1.default.find({ name: "height1" }, { cached: true });
43
+ (0, globals_1.expect)(fs1.length).toBe(0);
44
+ const fc_recreate = await field_1.default.create({
45
+ table: patients,
46
+ label: "Height1",
47
+ type: "Integer",
48
+ required: true,
49
+ attributes: { default: 6 },
50
+ });
51
+ (0, assertions_1.assertIsSet)(fc_recreate.id);
52
+ (0, globals_1.expect)(fc_recreate.id > 0).toBe(true);
53
+ });
54
+ (0, globals_1.it)("should add and then delete nonrequired field", async () => {
55
+ const patients = table_1.default.findOne({ name: "patients" });
56
+ const fc = await field_1.default.create({
57
+ table: patients,
58
+ name: "Height11",
59
+ label: "height11",
60
+ type: "Integer",
61
+ required: false,
62
+ });
63
+ (0, assertions_1.assertIsSet)(fc.id);
64
+ (0, globals_1.expect)(fc.id > 0).toBe(true);
65
+ const f = await field_1.default.findOne({ id: fc.id });
66
+ await f.delete();
67
+ const fs = await field_1.default.find({ name: "Height11" });
68
+ (0, globals_1.expect)(fs.length).toBe(0);
69
+ const fsc = await field_1.default.find({ name: "Height11" }, { cached: true });
70
+ (0, globals_1.expect)(fsc.length).toBe(0);
71
+ });
72
+ (0, globals_1.it)("creates file field", async () => {
73
+ const patients = table_1.default.findOne({ name: "patients" });
74
+ const fc = await field_1.default.create({
75
+ table: patients,
76
+ name: "pic",
77
+ label: "pic",
78
+ type: "File",
79
+ required: false,
80
+ });
81
+ (0, globals_1.expect)(fc.sql_type).toBe("text");
82
+ });
83
+ (0, globals_1.it)("fills fkey options", async () => {
84
+ const f = await field_1.default.findOne({ name: "favbook" });
85
+ await f.fill_fkey_options();
86
+ (0, globals_1.expect)(f.options).toContainEqual({ label: "Leo Tolstoy", value: 2 });
87
+ if (db_1.default.isSQLite)
88
+ (0, globals_1.expect)(f.sql_type).toBe('int constraint "patients_favbook_fkey" references "books" ("id")');
89
+ else
90
+ (0, globals_1.expect)(f.sql_type).toBe('int constraint "patients_favbook_fkey" references "public"."books" ("id")');
91
+ (0, globals_1.expect)(f.is_fkey).toBe(true);
92
+ (0, globals_1.expect)(f.sql_bare_type).toBe("int");
93
+ });
94
+ (0, globals_1.it)("switches delete cascade on and off", async () => {
95
+ const f = await field_1.default.findOne({ name: "favbook" });
96
+ const { table_id, name, label, required, is_unique, calculated, expression, stored, description, reftable_name, attributes, } = f;
97
+ const fldRow = {
98
+ table_id,
99
+ name,
100
+ label,
101
+ required,
102
+ is_unique,
103
+ reftable_name,
104
+ attributes,
105
+ calculated,
106
+ expression,
107
+ stored,
108
+ description,
109
+ };
110
+ if (db_1.default.isSQLite)
111
+ return;
112
+ await f.update({
113
+ ...fldRow,
114
+ attributes: { ...f.attributes, on_delete_cascade: true },
115
+ });
116
+ await f.update({
117
+ ...fldRow,
118
+ attributes: { ...f.attributes, on_delete_cascade: false },
119
+ });
120
+ await f.update({
121
+ ...fldRow,
122
+ attributes: { ...f.attributes, on_delete: "Set null" },
123
+ });
124
+ await f.update({
125
+ ...fldRow,
126
+ attributes: { ...f.attributes, on_delete: "Cascade" },
127
+ });
128
+ await f.update({
129
+ ...fldRow,
130
+ attributes: { ...f.attributes, on_delete: "Fail" },
131
+ });
132
+ });
133
+ (0, globals_1.it)("generates fkeys", async () => {
134
+ const f = await field_1.default.findOne({ name: "favbook" });
135
+ const v = await f.generate();
136
+ (0, globals_1.expect)(typeof v).toBe("number");
137
+ });
138
+ });
139
+ (0, globals_1.describe)("validate field", () => {
140
+ const field = new field_1.default({
141
+ name: "age",
142
+ label: "Age",
143
+ type: "Integer",
144
+ });
145
+ (0, globals_1.expect)(field.form_name).toBe("age");
146
+ const res = field.validate({ age: 17 });
147
+ (0, globals_1.expect)(res).toStrictEqual({ success: 17 });
148
+ });
149
+ (0, globals_1.describe)("generate ", () => {
150
+ (0, globals_1.it)("color is string", async () => {
151
+ const field = new field_1.default({
152
+ name: "col",
153
+ label: "col",
154
+ type: "Color",
155
+ });
156
+ const rnd = await field.generate();
157
+ (0, globals_1.expect)(typeof rnd).toBe("string");
158
+ });
159
+ (0, globals_1.it)("int not nan", async () => {
160
+ const field = new field_1.default({
161
+ name: "x",
162
+ label: "x",
163
+ type: "Integer",
164
+ attributes: { max: 5 },
165
+ });
166
+ const rnd = await field.generate();
167
+ (0, globals_1.expect)(typeof rnd).toBe("number");
168
+ (0, globals_1.expect)(isNaN(rnd)).toBe(false);
169
+ });
170
+ });
171
+ (0, globals_1.describe)("validate fkey field", () => {
172
+ const field = new field_1.default({
173
+ name: "age",
174
+ label: "Age",
175
+ type: "Key to Foos",
176
+ });
177
+ (0, globals_1.expect)(field.form_name).toBe("age");
178
+ const res = field.validate({ age: 17 });
179
+ (0, globals_1.expect)(res).toStrictEqual({ success: 17 });
180
+ });
181
+ (0, globals_1.describe)("validate bool field", () => {
182
+ const field = new field_1.default({
183
+ name: "over_age",
184
+ label: "Over age",
185
+ type: "Bool",
186
+ });
187
+ (0, globals_1.expect)(field.form_name).toBe("over_age");
188
+ const res = field.validate({ over_age: "on" });
189
+ (0, globals_1.expect)(res).toStrictEqual({ success: true });
190
+ const res1 = field.validate({});
191
+ (0, globals_1.expect)(res1).toStrictEqual({ success: false });
192
+ });
193
+ (0, globals_1.describe)("validate required field", () => {
194
+ (0, globals_1.it)("validates required field", async () => {
195
+ const field = new field_1.default({
196
+ name: "age",
197
+ label: "Age",
198
+ type: "Integer",
199
+ required: true,
200
+ });
201
+ (0, globals_1.expect)(field.form_name).toBe("age");
202
+ const res = field.validate({ age: 17 });
203
+ (0, globals_1.expect)(res).toStrictEqual({ success: 17 });
204
+ });
205
+ (0, globals_1.it)("fails on required field", async () => {
206
+ const field = new field_1.default({
207
+ name: "age",
208
+ label: "Age",
209
+ type: "Integer",
210
+ required: true,
211
+ });
212
+ (0, globals_1.expect)(field.form_name).toBe("age");
213
+ const res = field.validate({ name: "Sam" });
214
+ (0, globals_1.expect)(res).toStrictEqual({ error: "Unable to read Integer" });
215
+ });
216
+ (0, globals_1.it)("validates required field if not shown", async () => {
217
+ const field = new field_1.default({
218
+ name: "age",
219
+ label: "Age",
220
+ type: "Integer",
221
+ showIf: { foo: "bar" },
222
+ required: true,
223
+ });
224
+ (0, globals_1.expect)(field.form_name).toBe("age");
225
+ const res = field.validate({ name: "Sam" });
226
+ (0, globals_1.expect)(res).toStrictEqual({ success: null });
227
+ });
228
+ });
229
+ (0, globals_1.describe)("validate parent field", () => {
230
+ const field = new field_1.default({
231
+ name: "age",
232
+ label: "Age",
233
+ parent_field: "person",
234
+ type: "Integer",
235
+ });
236
+ (0, globals_1.expect)(field.form_name).toBe("person_age");
237
+ const res = field.validate({ person_age: 17 });
238
+ (0, globals_1.expect)(res).toStrictEqual({ success: 17 });
239
+ });
240
+ (0, globals_1.describe)("validate parent field", () => {
241
+ const field = new field_1.default({
242
+ name: "over_age",
243
+ label: "Over age",
244
+ type: "Bool",
245
+ parent_field: "person",
246
+ });
247
+ (0, globals_1.expect)(field.form_name).toBe("person_over_age");
248
+ const res = field.validate({ person_over_age: "on" });
249
+ (0, globals_1.expect)(res).toStrictEqual({ success: true });
250
+ const res1 = field.validate({});
251
+ (0, globals_1.expect)(res1).toStrictEqual({ success: false });
252
+ });
253
+ (0, globals_1.describe)("validator", () => {
254
+ const field = new field_1.default({
255
+ label: "Age",
256
+ type: "Integer",
257
+ validator: (x) => false,
258
+ });
259
+ const res = field.validate({ age: 17 });
260
+ (0, globals_1.expect)(res).toStrictEqual({ error: "Not accepted" });
261
+ });
262
+ (0, globals_1.describe)("user presets", () => {
263
+ const field = new field_1.default({
264
+ label: "User",
265
+ type: "Key to users",
266
+ });
267
+ const presets = field.presets;
268
+ (0, assertions_1.assertIsSet)(presets);
269
+ (0, globals_1.expect)(presets.LoggedIn({ user: { id: 5 } })).toBe(5);
270
+ });
271
+ (0, globals_1.describe)("Field update", () => {
272
+ // type to type when empty
273
+ // fkey change target table
274
+ (0, globals_1.it)("creates table", async () => {
275
+ await table_1.default.create("changingtable");
276
+ });
277
+ (0, globals_1.it)("changes to on delete cascade", async () => {
278
+ const table = table_1.default.findOne({ name: "changingtable" });
279
+ const fc = await field_1.default.create({
280
+ table,
281
+ name: "read1",
282
+ label: "Reading",
283
+ type: "Key to books",
284
+ required: false,
285
+ attributes: { summary_field: "author" },
286
+ });
287
+ if (!db_1.default.isSQLite) {
288
+ await fc.update({ attributes: { on_delete_cascade: true } });
289
+ await fc.update({ attributes: { on_delete_cascade: false } });
290
+ await fc.update({ attributes: { on_delete: "Set null" } });
291
+ await fc.update({ attributes: { on_delete: "Cascade" } });
292
+ await fc.update({ attributes: { on_delete: "Fail" } });
293
+ }
294
+ });
295
+ (0, globals_1.it)("changes to required", async () => {
296
+ const table = table_1.default.findOne({ name: "changingtable" });
297
+ const fc = await field_1.default.create({
298
+ table,
299
+ name: "read3",
300
+ label: "Reading",
301
+ type: "Key to books",
302
+ required: false,
303
+ attributes: { summary_field: "author" },
304
+ });
305
+ if (!db_1.default.isSQLite) {
306
+ await fc.update({ required: true });
307
+ await fc.update({ required: false });
308
+ }
309
+ });
310
+ (0, globals_1.it)("changes int to float", async () => {
311
+ const table = table_1.default.findOne({ name: "changingtable" });
312
+ const fc = await field_1.default.create({
313
+ table,
314
+ name: "beans",
315
+ label: "bean count",
316
+ type: "Integer",
317
+ });
318
+ //db.set_sql_logging();
319
+ if (!db_1.default.isSQLite) {
320
+ await fc.update({ type: "Float" });
321
+ }
322
+ });
323
+ (0, globals_1.it)("changes fkey ref table", async () => {
324
+ const table = table_1.default.findOne({ name: "changingtable" });
325
+ const fc = await field_1.default.create({
326
+ table,
327
+ name: "read2",
328
+ label: "Reading",
329
+ type: "Key to books",
330
+ required: false,
331
+ attributes: { summary_field: "author" },
332
+ });
333
+ //db.set_sql_logging();
334
+ if (!db_1.default.isSQLite) {
335
+ await fc.update({
336
+ type: "Key to patients",
337
+ attributes: { summary_field: "author" },
338
+ });
339
+ }
340
+ });
341
+ (0, globals_1.it)("changes int to fkey ref", async () => {
342
+ const table = await table_1.default.create("changingtable1");
343
+ const fc = await field_1.default.create({
344
+ table,
345
+ name: "reads",
346
+ label: "Reading",
347
+ type: "Integer",
348
+ required: false,
349
+ });
350
+ await table.insertRow({ reads: 1 });
351
+ //db.set_sql_logging();
352
+ if (!db_1.default.isSQLite) {
353
+ await fc.update({
354
+ type: "Key to books",
355
+ attributes: { summary_field: "author" },
356
+ });
357
+ const table1 = await table_1.default.findOne("changingtable1");
358
+ const fc1 = table1.fields[1];
359
+ (0, globals_1.expect)(fc1.type).toBe("Key");
360
+ (0, globals_1.expect)(fc1.reftable_name).toBe("books");
361
+ (0, globals_1.expect)(fc1.is_fkey).toBe(true);
362
+ }
363
+ });
364
+ (0, globals_1.it)("changes string to fkey ref and back", async () => {
365
+ const csv = `id,cost,somenum, vatable
366
+ Book, 5,4, f
367
+ Pencil, 0.5,2, t`;
368
+ const fnm = "/tmp/test2.csv";
369
+ await (0, promises_1.writeFile)(fnm, csv);
370
+ const res = await table_1.default.create_from_csv("Invoice4", fnm);
371
+ (0, assertions_1.assertsIsSuccessMessage)(res);
372
+ const table = await table_1.default.create("changingtable1str");
373
+ const fc = await field_1.default.create({
374
+ table,
375
+ name: "invoice",
376
+ label: "Invoice",
377
+ type: "String",
378
+ required: false,
379
+ });
380
+ await table.insertRow({ invoice: "Book" });
381
+ //db.set_sql_logging();
382
+ if (!db_1.default.isSQLite) {
383
+ await fc.update({
384
+ type: "Key to Invoice4",
385
+ });
386
+ const table1 = await table_1.default.findOne("changingtable1str");
387
+ const fc1 = table1.fields[1];
388
+ (0, globals_1.expect)(fc1.type).toBe("Key");
389
+ (0, globals_1.expect)(fc1.reftable_name).toBe("Invoice4");
390
+ (0, globals_1.expect)(fc1.is_fkey).toBe(true);
391
+ await fc1.update({
392
+ type: "String",
393
+ });
394
+ const table2 = await table_1.default.findOne("changingtable1str");
395
+ const fc2 = table2.fields[1];
396
+ (0, globals_1.expect)(fc2.type.name).toBe("String");
397
+ (0, globals_1.expect)(fc2.is_fkey).toBe(false);
398
+ }
399
+ });
400
+ (0, globals_1.it)("changes fkey ref to int", async () => {
401
+ const table = await table_1.default.findOne("changingtable1");
402
+ (0, assertions_1.assertIsSet)(table);
403
+ const fc = await field_1.default.create({
404
+ table,
405
+ name: "buys",
406
+ label: "Buys",
407
+ type: "Key to books",
408
+ required: false,
409
+ });
410
+ await table.insertRow({ reads: 1, buys: 2 });
411
+ //db.set_sql_logging();
412
+ if (!db_1.default.isSQLite) {
413
+ await fc.update({
414
+ type: "Integer",
415
+ });
416
+ await table.insertRow({ reads: 1, buys: 50 });
417
+ const table1 = await table_1.default.findOne("changingtable1");
418
+ const fc1 = table1.fields[1];
419
+ (0, globals_1.expect)(fc1.type.name).toBe("Integer");
420
+ //expect(fc1.reftable_name).toBe("books");
421
+ (0, globals_1.expect)(fc1.is_fkey).toBe(false);
422
+ }
423
+ });
424
+ });
425
+ (0, globals_1.describe)("Field.distinct_values", () => {
426
+ (0, globals_1.it)("gives string options", async () => {
427
+ const table = await table_1.default.create("fdvtable");
428
+ const fc = await field_1.default.create({
429
+ table,
430
+ label: "Colour",
431
+ type: "String",
432
+ required: true,
433
+ attributes: { options: "Red,Green,Purple" },
434
+ });
435
+ const dvs = await fc.distinct_values();
436
+ (0, globals_1.expect)(dvs).toEqual([
437
+ { label: "", value: "" },
438
+ { label: "Red", value: "Red" },
439
+ { label: "Green", value: "Green" },
440
+ { label: "Purple", value: "Purple" },
441
+ ]);
442
+ });
443
+ (0, globals_1.it)("gives int values", async () => {
444
+ const table = table_1.default.findOne({ name: "fdvtable" });
445
+ (0, assertions_1.assertIsSet)(table);
446
+ const fc = await field_1.default.create({
447
+ table,
448
+ name: "height",
449
+ label: "Height",
450
+ type: "Integer",
451
+ required: false,
452
+ });
453
+ await table.insertRow({ colour: "Red", height: 6 });
454
+ await table.insertRow({ colour: "Green", height: 11 });
455
+ const dvs = await fc.distinct_values();
456
+ (0, globals_1.expect)(dvs).toEqual([
457
+ { label: "", value: "" },
458
+ { label: "6", value: 6 },
459
+ { label: "11", value: 11 },
460
+ ]);
461
+ const red_dvs = await fc.distinct_values(null, { colour: "Red" });
462
+ (0, globals_1.expect)(red_dvs).toEqual([
463
+ { label: "", value: "" },
464
+ { label: "6", value: 6 },
465
+ ]);
466
+ });
467
+ (0, globals_1.it)("gives fkey values", async () => {
468
+ const fc = await field_1.default.findOne({ name: "favbook" });
469
+ const dvs = await fc.distinct_values();
470
+ (0, globals_1.expect)(dvs).toEqual([
471
+ { label: "", value: "" },
472
+ { label: "Herman Melville", value: 1 },
473
+ { label: "Leo Tolstoy", value: 2 },
474
+ ]);
475
+ const longdvs = await fc.distinct_values(null, { pages: 967 });
476
+ (0, globals_1.expect)(longdvs).toEqual([
477
+ { label: "", value: "" },
478
+ { label: "Herman Melville", value: 1 },
479
+ ]);
480
+ });
481
+ (0, globals_1.it)("gives string values", async () => {
482
+ const books = table_1.default.findOne({ name: "books" });
483
+ (0, assertions_1.assertIsSet)(books);
484
+ await books.insertRow({ author: "Herman Melville", pages: 56 });
485
+ const fc = await field_1.default.findOne({ name: "author" });
486
+ const dvs = await fc.distinct_values();
487
+ (0, globals_1.expect)(dvs).toEqual([
488
+ { label: "", value: "" },
489
+ { label: "Herman Melville", value: "Herman Melville" },
490
+ { label: "Leo Tolstoy", value: "Leo Tolstoy" },
491
+ ]);
492
+ });
493
+ });
494
+ (0, globals_1.describe)("adds new fields to history #1202", () => {
495
+ (0, globals_1.it)("field first", async () => {
496
+ const table = await table_1.default.create("histcalc1");
497
+ await field_1.default.create({
498
+ table,
499
+ label: "Date",
500
+ name: "date",
501
+ type: "Date",
502
+ attributes: { day_only: true },
503
+ });
504
+ await table.update({ versioned: true });
505
+ await table.insertRow({ date: new PlainDate() });
506
+ const rows = await table.getRows({});
507
+ (0, globals_1.expect)(rows.length).toBe(1);
508
+ if (!db_1.default.isSQLite)
509
+ (0, globals_1.expect)(rows[0].date instanceof PlainDate).toBe(true);
510
+ const yday = new PlainDate();
511
+ yday.setDate(yday.getDate() - 1);
512
+ const rows1 = await table.getRows({ date: { gt: yday } });
513
+ (0, globals_1.expect)(rows1.length).toBe(1);
514
+ const tmrw = new PlainDate();
515
+ tmrw.setDate(tmrw.getDate() + 1);
516
+ const rows2 = await table.getRows({ date: { gt: tmrw } });
517
+ (0, globals_1.expect)(rows2.length).toBe(0);
518
+ const today = new PlainDate();
519
+ const rows3 = await table.getRows({ date: { gt: today, equal: true } });
520
+ (0, globals_1.expect)(rows3.length).toBe(1);
521
+ });
522
+ (0, globals_1.it)("history first", async () => {
523
+ const table = await table_1.default.create("histcalc2");
524
+ await table.update({ versioned: true });
525
+ await field_1.default.create({
526
+ table,
527
+ label: "Date",
528
+ name: "date",
529
+ type: "Date",
530
+ });
531
+ await table.insertRow({ date: new Date() });
532
+ const rows = await table.getRows({});
533
+ (0, globals_1.expect)(rows.length).toBe(1);
534
+ if (!db_1.default.isSQLite)
535
+ (0, globals_1.expect)(rows[0].date instanceof Date).toBe(true);
536
+ });
537
+ (0, globals_1.it)("recalc stored first", async () => {
538
+ const table = await table_1.default.create("histcalc3");
539
+ await field_1.default.create({
540
+ table,
541
+ label: "Name",
542
+ name: "name",
543
+ type: "String",
544
+ });
545
+ await table.update({ versioned: true });
546
+ await table.insertRow({ name: "Jim" });
547
+ await field_1.default.create({
548
+ table,
549
+ label: "idp1",
550
+ type: "Integer",
551
+ calculated: true,
552
+ expression: "id+1",
553
+ stored: true,
554
+ });
555
+ await sleep(500);
556
+ const rows = await table.getRows({});
557
+ (0, globals_1.expect)(rows.length).toBe(1);
558
+ (0, globals_1.expect)(rows[0].idp1).toBe(2);
559
+ });
560
+ (0, globals_1.it)("delete stored calc field #1203", async () => {
561
+ const table = await table_1.default.create("histcalc4");
562
+ await table.update({ versioned: true });
563
+ const f = await field_1.default.create({
564
+ table,
565
+ label: "Name",
566
+ name: "name",
567
+ type: "String",
568
+ });
569
+ await f.delete();
570
+ const table1 = table_1.default.findOne({ id: table.id });
571
+ (0, assertions_1.assertIsSet)(table1);
572
+ const fields = await table1.getFields();
573
+ (0, globals_1.expect)(fields.length).toBe(1); // id
574
+ });
575
+ });
576
+ (0, globals_1.describe)("fields with sql types depending on attribute", () => {
577
+ (0, globals_1.it)("should create", async () => {
578
+ getState().registerPlugin("mock_plugin", plugin_with_routes());
579
+ const table = await table_1.default.create("TableVarchar");
580
+ await field_1.default.create({
581
+ table,
582
+ label: "Name",
583
+ type: "Varchar",
584
+ attributes: { dimensions: 80 },
585
+ });
586
+ });
587
+ });
588
+ //# sourceMappingURL=field.test.js.map