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