@saltcorn/data 1.3.1 → 1.4.0-beta.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.
@@ -0,0 +1,98 @@
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 db_1 = __importDefault(require("../db"));
8
+ const { getState } = require("../db/state");
9
+ getState().registerPlugin("base", require("../base-plugin"));
10
+ const discovery_1 = __importDefault(require("../models/discovery"));
11
+ const { discoverable_tables, discover_tables, implement_discovery } = discovery_1.default;
12
+ const mocks_1 = __importDefault(require("./mocks"));
13
+ const { rick_file, plugin_with_routes, mockReqRes, createDefaultView } = mocks_1.default;
14
+ const assertions_1 = require("./assertions");
15
+ const globals_1 = require("@jest/globals");
16
+ const expression_1 = __importDefault(require("../models/expression"));
17
+ const { freeVariables, jsexprToWhere, add_free_variables_to_aggregations } = expression_1.default;
18
+ (0, globals_1.afterAll)(db_1.default.close);
19
+ (0, globals_1.beforeAll)(async () => {
20
+ await require("../db/reset_schema")();
21
+ await require("../db/fixtures")();
22
+ if (!db_1.default.isSQLite) {
23
+ await db_1.default.query(`create table tstcomppk ( name text, age int, address text, primary key(name,age));`);
24
+ const pack = await discover_tables(["tstcomppk"]);
25
+ await implement_discovery(pack);
26
+ }
27
+ });
28
+ jest.setTimeout(30000);
29
+ (0, globals_1.describe)("Composite PK table properties", () => {
30
+ if (!db_1.default.isSQLite) {
31
+ (0, globals_1.it)("should store attributes", async () => {
32
+ const tc = table_1.default.findOne("tstcomppk");
33
+ (0, assertions_1.assertIsSet)(tc);
34
+ (0, globals_1.expect)(tc.composite_pk_names?.length).toBe(2);
35
+ (0, globals_1.expect)(tc.composite_pk_names).toContain("name");
36
+ (0, globals_1.expect)(tc.composite_pk_names).toContain("age");
37
+ (0, globals_1.expect)(tc.pk_name).toBe("age");
38
+ });
39
+ (0, globals_1.it)("should insert", async () => {
40
+ const tc = table_1.default.findOne("tstcomppk");
41
+ (0, assertions_1.assertIsSet)(tc);
42
+ await tc.insertRow({ name: "Sam", age: 38 });
43
+ const count = await tc.countRows({});
44
+ (0, globals_1.expect)(count).toBe(1);
45
+ const rows = await tc.getRows({ name: "Sam", age: 38 });
46
+ (0, globals_1.expect)(rows.length).toBe(1);
47
+ (0, globals_1.expect)(rows[0].age).toBe(38);
48
+ });
49
+ (0, globals_1.it)("should update", async () => {
50
+ const tc = table_1.default.findOne("tstcomppk");
51
+ (0, assertions_1.assertIsSet)(tc);
52
+ await tc.insertRow({ name: "Alex", age: 38 });
53
+ await tc.updateRow({ name: "Sammy" }, {
54
+ name: "Sam",
55
+ age: 38,
56
+ });
57
+ const rows = await tc.getRows({ age: 38 });
58
+ (0, globals_1.expect)(rows.length).toBe(2);
59
+ const names = rows.map((r) => r.name);
60
+ (0, globals_1.expect)(names).toContain("Alex");
61
+ (0, globals_1.expect)(names).toContain("Sammy");
62
+ });
63
+ (0, globals_1.it)("should delete", async () => {
64
+ const tc = table_1.default.findOne("tstcomppk");
65
+ (0, assertions_1.assertIsSet)(tc);
66
+ await tc.deleteRows({ name: "Sammy", age: 38 });
67
+ const rows = await tc.getRows({ age: 38 });
68
+ (0, globals_1.expect)(rows.length).toBe(1);
69
+ (0, globals_1.expect)(rows[0].name).toBe("Alex");
70
+ });
71
+ (0, globals_1.it)("should create Edit view", async () => {
72
+ const tc = table_1.default.findOne("tstcomppk");
73
+ (0, assertions_1.assertIsSet)(tc);
74
+ const view = await createDefaultView(tc, "Edit", 1);
75
+ (0, globals_1.expect)(view.configuration.columns.length).toBe(3);
76
+ await view.runPost({}, { name: "Fred", age: 10, address: "29 Park Road" }, mockReqRes);
77
+ await view.runPost({}, { name: "Peter", age: 10, address: "4 Beach Road" }, mockReqRes);
78
+ const rows0 = await tc.getRows({ name: "Peter" });
79
+ (0, globals_1.expect)(rows0.length).toBe(1);
80
+ (0, globals_1.expect)(rows0[0].address).toBe("4 Beach Road");
81
+ const rows = await tc.getRows({ name: "Fred" });
82
+ (0, globals_1.expect)(rows.length).toBe(1);
83
+ (0, globals_1.expect)(rows[0].address).toBe("29 Park Road");
84
+ await view.runPost({}, { name: "Fred", age: 10, address: "25 Park Road" }, mockReqRes);
85
+ const rows1 = await tc.getRows({ name: "Fred" });
86
+ (0, globals_1.expect)(rows1.length).toBe(1);
87
+ (0, globals_1.expect)(rows1[0].address).toBe("25 Park Road");
88
+ const rows2 = await tc.getRows({ name: "Peter" });
89
+ (0, globals_1.expect)(rows2.length).toBe(1);
90
+ (0, globals_1.expect)(rows2[0].address).toBe("4 Beach Road");
91
+ });
92
+ }
93
+ else
94
+ (0, globals_1.it)("should add 2 and 2", async () => {
95
+ (0, globals_1.expect)(2 + 2).toBe(4);
96
+ });
97
+ });
98
+ //# sourceMappingURL=composite_pk.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composite_pk.test.js","sourceRoot":"","sources":["../../tests/composite_pk.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saltcorn/data",
3
- "version": "1.3.1",
3
+ "version": "1.4.0-beta.0",
4
4
  "description": "Data models for Saltcorn, open-source no-code platform",
5
5
  "homepage": "https://saltcorn.com",
6
6
  "scripts": {
@@ -37,15 +37,15 @@
37
37
  "!dist/tsconfig.ref.tsbuildinfo"
38
38
  ],
39
39
  "optionalDependencies": {
40
- "@saltcorn/postgres": "1.3.1",
41
- "@saltcorn/sqlite": "1.3.1"
40
+ "@saltcorn/postgres": "1.4.0-beta.0",
41
+ "@saltcorn/sqlite": "1.4.0-beta.0"
42
42
  },
43
43
  "dependencies": {
44
- "@saltcorn/types": "1.3.1",
45
- "@saltcorn/markup": "1.3.1",
46
- "@saltcorn/common-code": "1.3.1",
47
- "@saltcorn/db-common": "1.3.1",
48
- "@saltcorn/sqlite-mobile": "1.3.1",
44
+ "@saltcorn/types": "1.4.0-beta.0",
45
+ "@saltcorn/markup": "1.4.0-beta.0",
46
+ "@saltcorn/common-code": "1.4.0-beta.0",
47
+ "@saltcorn/db-common": "1.4.0-beta.0",
48
+ "@saltcorn/sqlite-mobile": "1.4.0-beta.0",
49
49
  "@saltcorn/plain-date": "0.2.0",
50
50
  "acorn": "^8.14.0",
51
51
  "assert": "^2.1.0",