@entity-access/entity-access 1.0.378 → 1.0.379
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/model/EntityQuery.d.ts.map +1 -1
- package/dist/model/EntityQuery.js +10 -0
- package/dist/model/EntityQuery.js.map +1 -1
- package/dist/model/IFilterWithParameter.d.ts +5 -5
- package/dist/model/IFilterWithParameter.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/model/EntityQuery.ts +11 -1
- package/src/model/IFilterWithParameter.ts +5 -5
- package/dist/tests/TestConfig.d.ts +0 -6
- package/dist/tests/TestConfig.d.ts.map +0 -1
- package/dist/tests/TestConfig.js +0 -3
- package/dist/tests/TestConfig.js.map +0 -1
- package/dist/tests/db-tests/tests/check-constraint-test.d.ts +0 -3
- package/dist/tests/db-tests/tests/check-constraint-test.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/check-constraint-test.js +0 -25
- package/dist/tests/db-tests/tests/check-constraint-test.js.map +0 -1
- package/dist/tests/db-tests/tests/delete-items.d.ts +0 -3
- package/dist/tests/db-tests/tests/delete-items.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/delete-items.js +0 -25
- package/dist/tests/db-tests/tests/delete-items.js.map +0 -1
- package/dist/tests/db-tests/tests/filtered-include-items.d.ts +0 -3
- package/dist/tests/db-tests/tests/filtered-include-items.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/filtered-include-items.js +0 -19
- package/dist/tests/db-tests/tests/filtered-include-items.js.map +0 -1
- package/dist/tests/db-tests/tests/insert-into.d.ts +0 -3
- package/dist/tests/db-tests/tests/insert-into.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/insert-into.js +0 -17
- package/dist/tests/db-tests/tests/insert-into.js.map +0 -1
- package/dist/tests/db-tests/tests/multi-fk-tests.d.ts +0 -3
- package/dist/tests/db-tests/tests/multi-fk-tests.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/multi-fk-tests.js +0 -29
- package/dist/tests/db-tests/tests/multi-fk-tests.js.map +0 -1
- package/dist/tests/db-tests/tests/select-identity.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-identity.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-identity.js +0 -16
- package/dist/tests/db-tests/tests/select-identity.js.map +0 -1
- package/dist/tests/db-tests/tests/select-inverse-one-to-one.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-inverse-one-to-one.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-inverse-one-to-one.js +0 -27
- package/dist/tests/db-tests/tests/select-inverse-one-to-one.js.map +0 -1
- package/dist/tests/db-tests/tests/select-items-map.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-items-map.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-items-map.js +0 -28
- package/dist/tests/db-tests/tests/select-items-map.js.map +0 -1
- package/dist/tests/db-tests/tests/select-items-sum.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-items-sum.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-items-sum.js +0 -46
- package/dist/tests/db-tests/tests/select-items-sum.js.map +0 -1
- package/dist/tests/db-tests/tests/select-items.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-items.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-items.js +0 -30
- package/dist/tests/db-tests/tests/select-items.js.map +0 -1
- package/dist/tests/db-tests/tests/select-map.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-map.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-map.js +0 -12
- package/dist/tests/db-tests/tests/select-map.js.map +0 -1
- package/dist/tests/db-tests/tests/select-nested.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-nested.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-nested.js +0 -25
- package/dist/tests/db-tests/tests/select-nested.js.map +0 -1
- package/dist/tests/db-tests/tests/select-parent.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-parent.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-parent.js +0 -17
- package/dist/tests/db-tests/tests/select-parent.js.map +0 -1
- package/dist/tests/db-tests/tests/select-related.d.ts +0 -3
- package/dist/tests/db-tests/tests/select-related.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/select-related.js +0 -20
- package/dist/tests/db-tests/tests/select-related.js.map +0 -1
- package/dist/tests/db-tests/tests/update-items.d.ts +0 -3
- package/dist/tests/db-tests/tests/update-items.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/update-items.js +0 -31
- package/dist/tests/db-tests/tests/update-items.js.map +0 -1
- package/dist/tests/db-tests/tests/update-select.d.ts +0 -3
- package/dist/tests/db-tests/tests/update-select.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/update-select.js +0 -19
- package/dist/tests/db-tests/tests/update-select.js.map +0 -1
- package/dist/tests/db-tests/tests/upsert-test.d.ts +0 -3
- package/dist/tests/db-tests/tests/upsert-test.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/upsert-test.js +0 -31
- package/dist/tests/db-tests/tests/upsert-test.js.map +0 -1
- package/dist/tests/db-tests/tests/version-history.d.ts +0 -3
- package/dist/tests/db-tests/tests/version-history.d.ts.map +0 -1
- package/dist/tests/db-tests/tests/version-history.js +0 -16
- package/dist/tests/db-tests/tests/version-history.js.map +0 -1
- package/dist/tests/db-tests/transaction-save-point/transaction-save-point.d.ts +0 -3
- package/dist/tests/db-tests/transaction-save-point/transaction-save-point.d.ts.map +0 -1
- package/dist/tests/db-tests/transaction-save-point/transaction-save-point.js +0 -58
- package/dist/tests/db-tests/transaction-save-point/transaction-save-point.js.map +0 -1
- package/dist/tests/drivers/postgres/connection-test.d.ts +0 -3
- package/dist/tests/drivers/postgres/connection-test.d.ts.map +0 -1
- package/dist/tests/drivers/postgres/connection-test.js +0 -40
- package/dist/tests/drivers/postgres/connection-test.js.map +0 -1
- package/dist/tests/drivers/sql-server/sql-server-test.d.ts +0 -2
- package/dist/tests/drivers/sql-server/sql-server-test.d.ts.map +0 -1
- package/dist/tests/drivers/sql-server/sql-server-test.js +0 -6
- package/dist/tests/drivers/sql-server/sql-server-test.js.map +0 -1
- package/dist/tests/eternity/child-tests.d.ts +0 -3
- package/dist/tests/eternity/child-tests.d.ts.map +0 -1
- package/dist/tests/eternity/child-tests.js +0 -97
- package/dist/tests/eternity/child-tests.js.map +0 -1
- package/dist/tests/eternity/eternity-tests.d.ts +0 -3
- package/dist/tests/eternity/eternity-tests.d.ts.map +0 -1
- package/dist/tests/eternity/eternity-tests.js +0 -85
- package/dist/tests/eternity/eternity-tests.js.map +0 -1
- package/dist/tests/eternity/external-event-tests.d.ts +0 -3
- package/dist/tests/eternity/external-event-tests.d.ts.map +0 -1
- package/dist/tests/eternity/external-event-tests.js +0 -108
- package/dist/tests/eternity/external-event-tests.js.map +0 -1
- package/dist/tests/eternity/throttle-tests.d.ts +0 -3
- package/dist/tests/eternity/throttle-tests.d.ts.map +0 -1
- package/dist/tests/eternity/throttle-tests.js +0 -86
- package/dist/tests/eternity/throttle-tests.js.map +0 -1
- package/dist/tests/expressions/left-joins/child-joins.d.ts +0 -2
- package/dist/tests/expressions/left-joins/child-joins.d.ts.map +0 -1
- package/dist/tests/expressions/left-joins/child-joins.js +0 -114
- package/dist/tests/expressions/left-joins/child-joins.js.map +0 -1
- package/dist/tests/expressions/sanitize/sanitize-test.d.ts +0 -2
- package/dist/tests/expressions/sanitize/sanitize-test.d.ts.map +0 -1
- package/dist/tests/expressions/sanitize/sanitize-test.js +0 -8
- package/dist/tests/expressions/sanitize/sanitize-test.js.map +0 -1
- package/dist/tests/expressions/select/select.d.ts +0 -2
- package/dist/tests/expressions/select/select.d.ts.map +0 -1
- package/dist/tests/expressions/select/select.js +0 -11
- package/dist/tests/expressions/select/select.js.map +0 -1
- package/dist/tests/expressions/self-joins/self-joins.d.ts +0 -2
- package/dist/tests/expressions/self-joins/self-joins.d.ts.map +0 -1
- package/dist/tests/expressions/self-joins/self-joins.js +0 -14
- package/dist/tests/expressions/self-joins/self-joins.js.map +0 -1
- package/dist/tests/expressions/simple/parse-array.d.ts +0 -2
- package/dist/tests/expressions/simple/parse-array.d.ts.map +0 -1
- package/dist/tests/expressions/simple/parse-array.js +0 -21
- package/dist/tests/expressions/simple/parse-array.js.map +0 -1
- package/dist/tests/expressions/simple/parse-arrow.d.ts +0 -2
- package/dist/tests/expressions/simple/parse-arrow.d.ts.map +0 -1
- package/dist/tests/expressions/simple/parse-arrow.js +0 -36
- package/dist/tests/expressions/simple/parse-arrow.js.map +0 -1
- package/dist/tests/expressions/simple/parse-complex.d.ts +0 -2
- package/dist/tests/expressions/simple/parse-complex.d.ts.map +0 -1
- package/dist/tests/expressions/simple/parse-complex.js +0 -11
- package/dist/tests/expressions/simple/parse-complex.js.map +0 -1
- package/dist/tests/expressions/trimInternal.d.ts +0 -3
- package/dist/tests/expressions/trimInternal.d.ts.map +0 -1
- package/dist/tests/expressions/trimInternal.js +0 -24
- package/dist/tests/expressions/trimInternal.js.map +0 -1
- package/dist/tests/model/ShoppingContext.d.ts +0 -140
- package/dist/tests/model/ShoppingContext.d.ts.map +0 -1
- package/dist/tests/model/ShoppingContext.js +0 -440
- package/dist/tests/model/ShoppingContext.js.map +0 -1
- package/dist/tests/model/UseFile.d.ts +0 -8
- package/dist/tests/model/UseFile.d.ts.map +0 -1
- package/dist/tests/model/UseFile.js +0 -25
- package/dist/tests/model/UseFile.js.map +0 -1
- package/dist/tests/model/createContext.d.ts +0 -6
- package/dist/tests/model/createContext.d.ts.map +0 -1
- package/dist/tests/model/createContext.js +0 -327
- package/dist/tests/model/createContext.js.map +0 -1
- package/dist/tests/pool/pool-test.d.ts +0 -2
- package/dist/tests/pool/pool-test.d.ts.map +0 -1
- package/dist/tests/pool/pool-test.js +0 -66
- package/dist/tests/pool/pool-test.js.map +0 -1
- package/dist/tests/query/combine.d.ts +0 -2
- package/dist/tests/query/combine.d.ts.map +0 -1
- package/dist/tests/query/combine.js +0 -20
- package/dist/tests/query/combine.js.map +0 -1
- package/dist/tests/security/ShoppingContextEvents.d.ts +0 -5
- package/dist/tests/security/ShoppingContextEvents.d.ts.map +0 -1
- package/dist/tests/security/ShoppingContextEvents.js +0 -20
- package/dist/tests/security/ShoppingContextEvents.js.map +0 -1
- package/dist/tests/security/events/OrderEvents.d.ts +0 -17
- package/dist/tests/security/events/OrderEvents.d.ts.map +0 -1
- package/dist/tests/security/events/OrderEvents.js +0 -62
- package/dist/tests/security/events/OrderEvents.js.map +0 -1
- package/dist/tests/security/events/ProductEvents.d.ts +0 -23
- package/dist/tests/security/events/ProductEvents.d.ts.map +0 -1
- package/dist/tests/security/events/ProductEvents.js +0 -79
- package/dist/tests/security/events/ProductEvents.js.map +0 -1
- package/dist/tests/security/events/UserEvents.d.ts +0 -10
- package/dist/tests/security/events/UserEvents.d.ts.map +0 -1
- package/dist/tests/security/events/UserEvents.js +0 -26
- package/dist/tests/security/events/UserEvents.js.map +0 -1
- package/dist/tests/security/events/UserFileEvents.d.ts +0 -7
- package/dist/tests/security/events/UserFileEvents.d.ts.map +0 -1
- package/dist/tests/security/events/UserFileEvents.js +0 -7
- package/dist/tests/security/events/UserFileEvents.js.map +0 -1
- package/dist/tests/security/events/UserInfo.d.ts +0 -5
- package/dist/tests/security/events/UserInfo.d.ts.map +0 -1
- package/dist/tests/security/events/UserInfo.js +0 -9
- package/dist/tests/security/events/UserInfo.js.map +0 -1
- package/dist/tests/security/tests/include-items.d.ts +0 -3
- package/dist/tests/security/tests/include-items.d.ts.map +0 -1
- package/dist/tests/security/tests/include-items.js +0 -15
- package/dist/tests/security/tests/include-items.js.map +0 -1
- package/dist/tests/security/tests/place-order.d.ts +0 -3
- package/dist/tests/security/tests/place-order.d.ts.map +0 -1
- package/dist/tests/security/tests/place-order.js +0 -139
- package/dist/tests/security/tests/place-order.js.map +0 -1
- package/dist/tests/security/tests/test-events.d.ts +0 -3
- package/dist/tests/security/tests/test-events.d.ts.map +0 -1
- package/dist/tests/security/tests/test-events.js +0 -54
- package/dist/tests/security/tests/test-events.js.map +0 -1
- package/src/tests/TestConfig.ts +0 -6
- package/src/tests/db-tests/tests/check-constraint-test.ts +0 -32
- package/src/tests/db-tests/tests/delete-items.ts +0 -42
- package/src/tests/db-tests/tests/filtered-include-items.ts +0 -28
- package/src/tests/db-tests/tests/insert-into.ts +0 -24
- package/src/tests/db-tests/tests/multi-fk-tests.ts +0 -37
- package/src/tests/db-tests/tests/select-identity.ts +0 -23
- package/src/tests/db-tests/tests/select-inverse-one-to-one.ts +0 -39
- package/src/tests/db-tests/tests/select-items-map.ts +0 -38
- package/src/tests/db-tests/tests/select-items-sum.ts +0 -60
- package/src/tests/db-tests/tests/select-items.ts +0 -49
- package/src/tests/db-tests/tests/select-map.ts +0 -19
- package/src/tests/db-tests/tests/select-nested.ts +0 -36
- package/src/tests/db-tests/tests/select-parent.ts +0 -25
- package/src/tests/db-tests/tests/select-related.ts +0 -35
- package/src/tests/db-tests/tests/update-items.ts +0 -44
- package/src/tests/db-tests/tests/update-select.ts +0 -28
- package/src/tests/db-tests/tests/upsert-test.ts +0 -48
- package/src/tests/db-tests/tests/version-history.ts +0 -24
- package/src/tests/db-tests/transaction-save-point/transaction-save-point.ts +0 -48
- package/src/tests/drivers/postgres/connection-test.ts +0 -39
- package/src/tests/drivers/sql-server/sql-server-test.ts +0 -9
- package/src/tests/eternity/child-tests.ts +0 -119
- package/src/tests/eternity/eternity-tests.ts +0 -108
- package/src/tests/eternity/external-event-tests.ts +0 -133
- package/src/tests/eternity/throttle-tests.ts +0 -100
- package/src/tests/expressions/left-joins/child-joins.ts +0 -131
- package/src/tests/expressions/sanitize/sanitize-test.ts +0 -17
- package/src/tests/expressions/select/select.ts +0 -21
- package/src/tests/expressions/self-joins/self-joins.ts +0 -23
- package/src/tests/expressions/simple/parse-array.ts +0 -31
- package/src/tests/expressions/simple/parse-arrow.ts +0 -65
- package/src/tests/expressions/simple/parse-complex.ts +0 -20
- package/src/tests/expressions/trimInternal.ts +0 -25
- package/src/tests/model/ShoppingContext.ts +0 -435
- package/src/tests/model/UseFile.ts +0 -24
- package/src/tests/model/createContext.ts +0 -367
- package/src/tests/pool/pool-test.ts +0 -79
- package/src/tests/query/combine.ts +0 -28
- package/src/tests/security/ShoppingContextEvents.ts +0 -23
- package/src/tests/security/events/OrderEvents.ts +0 -72
- package/src/tests/security/events/ProductEvents.ts +0 -102
- package/src/tests/security/events/UserEvents.ts +0 -28
- package/src/tests/security/events/UserFileEvents.ts +0 -11
- package/src/tests/security/events/UserInfo.ts +0 -7
- package/src/tests/security/tests/include-items.ts +0 -20
- package/src/tests/security/tests/place-order.ts +0 -138
- package/src/tests/security/tests/test-events.ts +0 -55
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { IEntityQuery } from "../../../index.js";
|
|
2
|
-
import EntityEvents from "../../../model/events/EntityEvents.js";
|
|
3
|
-
import { UserFile } from "../../model/UseFile.js";
|
|
4
|
-
|
|
5
|
-
export class UserFileEvents extends EntityEvents<UserFile> {
|
|
6
|
-
|
|
7
|
-
filter(query: IEntityQuery<UserFile>): IEntityQuery<UserFile> {
|
|
8
|
-
return query.where({}, (p) => (x) => x.photoUsers.some((p1) => p1.orders.some((o1) => true === true)));
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
import { TestConfig } from "../../TestConfig.js";
|
|
3
|
-
import { createContext } from "../../model/createContext.js";
|
|
4
|
-
import { ShoppingContext } from "../../model/ShoppingContext.js";
|
|
5
|
-
import Logger from "../../../common/Logger.js";
|
|
6
|
-
|
|
7
|
-
export default async function (this: TestConfig) {
|
|
8
|
-
|
|
9
|
-
const old = await createContext(this.driver);
|
|
10
|
-
|
|
11
|
-
const context = new ShoppingContext(old.driver, void 0, Logger.instance);
|
|
12
|
-
const order = await context.orders.all()
|
|
13
|
-
.where({id: 0}, (p) => (x) => x.orderID > p.id)
|
|
14
|
-
.include((x) => x.orderItems.forEach((oi) => oi.productPrice.product))
|
|
15
|
-
.first();
|
|
16
|
-
|
|
17
|
-
assert.notEqual(null, order);
|
|
18
|
-
assert.notEqual(undefined, order.orderItems);
|
|
19
|
-
|
|
20
|
-
}
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
import Logger from "../../../common/Logger.js";
|
|
3
|
-
import { ServiceCollection, ServiceProvider } from "../../../di/di.js";
|
|
4
|
-
import { BaseDriver } from "../../../drivers/base/BaseDriver.js";
|
|
5
|
-
import ContextEvents from "../../../model/events/ContextEvents.js";
|
|
6
|
-
import { TestConfig } from "../../TestConfig.js";
|
|
7
|
-
import { ShoppingContext, User } from "../../model/ShoppingContext.js";
|
|
8
|
-
import { createContext } from "../../model/createContext.js";
|
|
9
|
-
import { ShoppingContextEvents } from "../ShoppingContextEvents.js";
|
|
10
|
-
import { UserInfo } from "../events/UserInfo.js";
|
|
11
|
-
import DateTime from "../../../types/DateTime.js";
|
|
12
|
-
|
|
13
|
-
export default async function(this: TestConfig) {
|
|
14
|
-
|
|
15
|
-
const customer = await createUser(this);
|
|
16
|
-
|
|
17
|
-
await addNewOrder.call(this, customer);
|
|
18
|
-
|
|
19
|
-
try {
|
|
20
|
-
await addNewOrder.call(this, customer, 1);
|
|
21
|
-
assert.fail("No error thrown");
|
|
22
|
-
} catch(error) {
|
|
23
|
-
// do nothing
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
await getNewOrders.call(this);
|
|
27
|
-
|
|
28
|
-
await createInterests.call(this);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
async function createInterests(this: TestConfig) {
|
|
32
|
-
const global = new ServiceProvider();
|
|
33
|
-
global.add(BaseDriver, this.driver);
|
|
34
|
-
using scope = global.createScope();
|
|
35
|
-
|
|
36
|
-
const userID = 2;
|
|
37
|
-
const user = new UserInfo();
|
|
38
|
-
user.userID = userID;
|
|
39
|
-
ServiceCollection.register("Singleton", Logger, () => Logger.instance);
|
|
40
|
-
scope.add(BaseDriver, this.driver);
|
|
41
|
-
scope.add(UserInfo, user);
|
|
42
|
-
ServiceCollection.register("Singleton", ContextEvents, () => new ShoppingContextEvents());
|
|
43
|
-
const context = scope.create(ShoppingContext);
|
|
44
|
-
context.verifyFilters = false;
|
|
45
|
-
context.raiseEvents = false;
|
|
46
|
-
|
|
47
|
-
const headPhone = await context.products.all().include((x) => x.categories).firstOrFail();
|
|
48
|
-
const category = headPhone.categories[0];
|
|
49
|
-
|
|
50
|
-
context.userCategories.add({
|
|
51
|
-
userID,
|
|
52
|
-
categoryID: category.categoryID,
|
|
53
|
-
lastUpdated: DateTime.now
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
await context.saveChanges();
|
|
57
|
-
|
|
58
|
-
const userCategories = await context.userCategories.where({ userID }, (p) => (x) => x.userID === p.userID).count();
|
|
59
|
-
|
|
60
|
-
assert.equal(1, userCategories);
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
async function getNewOrders(this: TestConfig) {
|
|
65
|
-
const global = new ServiceProvider();
|
|
66
|
-
global.add(BaseDriver, this.driver);
|
|
67
|
-
|
|
68
|
-
using scope = global.createScope();
|
|
69
|
-
|
|
70
|
-
const user = new UserInfo();
|
|
71
|
-
user.userID = 2;
|
|
72
|
-
ServiceCollection.register("Singleton", Logger, () => Logger.instance);
|
|
73
|
-
scope.add(BaseDriver, this.driver);
|
|
74
|
-
scope.add(UserInfo, user);
|
|
75
|
-
ServiceCollection.register("Singleton", ContextEvents, () => new ShoppingContextEvents());
|
|
76
|
-
const context = scope.create(ShoppingContext);
|
|
77
|
-
context.verifyFilters = true;
|
|
78
|
-
|
|
79
|
-
const order = await context.orders.all().first();
|
|
80
|
-
|
|
81
|
-
order.orderDate = new Date();
|
|
82
|
-
await context.saveChanges();
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
async function addNewOrder(this: TestConfig, customer: User, userID?) {
|
|
87
|
-
const global = new ServiceProvider();
|
|
88
|
-
global.add(BaseDriver, this.driver);
|
|
89
|
-
|
|
90
|
-
using scope = global.createScope();
|
|
91
|
-
|
|
92
|
-
const user = new UserInfo();
|
|
93
|
-
user.userID = userID ?? customer.userID;
|
|
94
|
-
ServiceCollection.register("Singleton", Logger, () => Logger.instance);
|
|
95
|
-
scope.add(BaseDriver, this.driver);
|
|
96
|
-
scope.add(UserInfo, user);
|
|
97
|
-
ServiceCollection.register("Singleton", ContextEvents, () => new ShoppingContextEvents());
|
|
98
|
-
const context = scope.create(ShoppingContext);
|
|
99
|
-
context.verifyFilters = true;
|
|
100
|
-
|
|
101
|
-
// get first headphone...
|
|
102
|
-
const headPhone = await context.products.all().firstOrFail();
|
|
103
|
-
const headPhonePrice = await context.productPrices.where({ id: headPhone.productID }, (p) => (x) => x.productID === p.id).firstOrFail();
|
|
104
|
-
|
|
105
|
-
context.orders.add({
|
|
106
|
-
customer,
|
|
107
|
-
orderDate: new Date(),
|
|
108
|
-
orderItems: [
|
|
109
|
-
context.orderItems.add({
|
|
110
|
-
product: headPhone,
|
|
111
|
-
productPrice: headPhonePrice,
|
|
112
|
-
amount: headPhonePrice.amount,
|
|
113
|
-
})
|
|
114
|
-
]
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
await context.saveChanges();
|
|
118
|
-
|
|
119
|
-
// lets filter the orders
|
|
120
|
-
|
|
121
|
-
const f = context.orders.filtered();
|
|
122
|
-
const myOrders = await f.count();
|
|
123
|
-
assert.equal(1, myOrders);
|
|
124
|
-
|
|
125
|
-
const all = await context.orders.all().count();
|
|
126
|
-
assert.notEqual(all, myOrders);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
async function createUser(config: TestConfig) {
|
|
130
|
-
const context = await createContext(config.driver);
|
|
131
|
-
const user = context.users.add({
|
|
132
|
-
userName: "customer",
|
|
133
|
-
dateCreated: new Date()
|
|
134
|
-
});
|
|
135
|
-
await context.saveChanges();
|
|
136
|
-
return { ... user };
|
|
137
|
-
}
|
|
138
|
-
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import assert from "assert";
|
|
2
|
-
import Logger from "../../../common/Logger.js";
|
|
3
|
-
import { ServiceCollection, ServiceProvider } from "../../../di/di.js";
|
|
4
|
-
import { BaseDriver } from "../../../drivers/base/BaseDriver.js";
|
|
5
|
-
import ContextEvents from "../../../model/events/ContextEvents.js";
|
|
6
|
-
import { TestConfig } from "../../TestConfig.js";
|
|
7
|
-
import { ShoppingContext, statusPublished } from "../../model/ShoppingContext.js";
|
|
8
|
-
import { createContext } from "../../model/createContext.js";
|
|
9
|
-
import { ShoppingContextEvents } from "../ShoppingContextEvents.js";
|
|
10
|
-
import { UserInfo } from "../events/UserInfo.js";
|
|
11
|
-
|
|
12
|
-
export default async function (this: TestConfig) {
|
|
13
|
-
|
|
14
|
-
await createContext(this.driver);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const global = new ServiceProvider();
|
|
18
|
-
global.add(BaseDriver, this.driver);
|
|
19
|
-
|
|
20
|
-
using scope = global.createScope();
|
|
21
|
-
|
|
22
|
-
const userID = 1;
|
|
23
|
-
const user = new UserInfo();
|
|
24
|
-
user.userID = userID;
|
|
25
|
-
scope.add(Logger, Logger.instance);
|
|
26
|
-
scope.add(BaseDriver, this.driver);
|
|
27
|
-
scope.add(UserInfo, user);
|
|
28
|
-
scope.add(ContextEvents, new ShoppingContextEvents());
|
|
29
|
-
const context = scope.create(ShoppingContext);
|
|
30
|
-
|
|
31
|
-
const first = await context.products.all().first();
|
|
32
|
-
first.name = "First Product";
|
|
33
|
-
const fe = context.changeSet.getEntry(first);
|
|
34
|
-
await context.saveChanges();
|
|
35
|
-
|
|
36
|
-
assert.notStrictEqual(undefined, first.nameUpdated);
|
|
37
|
-
assert.equal(true, first.nameUpdated);
|
|
38
|
-
assert.equal(false, fe.isUpdated("name"));
|
|
39
|
-
|
|
40
|
-
const status = statusPublished;
|
|
41
|
-
// create new product...
|
|
42
|
-
const p = context.products.add({
|
|
43
|
-
name: "A",
|
|
44
|
-
status,
|
|
45
|
-
ownerID: userID
|
|
46
|
-
});
|
|
47
|
-
assert.equal(void 0, p.afterInsertInvoked);
|
|
48
|
-
await context.saveChanges();
|
|
49
|
-
assert.equal(true, p.afterInsertInvoked);
|
|
50
|
-
|
|
51
|
-
await context.userFiles.filtered("read").where({}, (_) => (x) => x.photoUsers.some((p1) => true === true))
|
|
52
|
-
.include((x) => x.user.profile).toArray();
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|