@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.
Files changed (249) hide show
  1. package/dist/model/EntityQuery.d.ts.map +1 -1
  2. package/dist/model/EntityQuery.js +10 -0
  3. package/dist/model/EntityQuery.js.map +1 -1
  4. package/dist/model/IFilterWithParameter.d.ts +5 -5
  5. package/dist/model/IFilterWithParameter.d.ts.map +1 -1
  6. package/dist/tsconfig.tsbuildinfo +1 -1
  7. package/package.json +1 -1
  8. package/src/model/EntityQuery.ts +11 -1
  9. package/src/model/IFilterWithParameter.ts +5 -5
  10. package/dist/tests/TestConfig.d.ts +0 -6
  11. package/dist/tests/TestConfig.d.ts.map +0 -1
  12. package/dist/tests/TestConfig.js +0 -3
  13. package/dist/tests/TestConfig.js.map +0 -1
  14. package/dist/tests/db-tests/tests/check-constraint-test.d.ts +0 -3
  15. package/dist/tests/db-tests/tests/check-constraint-test.d.ts.map +0 -1
  16. package/dist/tests/db-tests/tests/check-constraint-test.js +0 -25
  17. package/dist/tests/db-tests/tests/check-constraint-test.js.map +0 -1
  18. package/dist/tests/db-tests/tests/delete-items.d.ts +0 -3
  19. package/dist/tests/db-tests/tests/delete-items.d.ts.map +0 -1
  20. package/dist/tests/db-tests/tests/delete-items.js +0 -25
  21. package/dist/tests/db-tests/tests/delete-items.js.map +0 -1
  22. package/dist/tests/db-tests/tests/filtered-include-items.d.ts +0 -3
  23. package/dist/tests/db-tests/tests/filtered-include-items.d.ts.map +0 -1
  24. package/dist/tests/db-tests/tests/filtered-include-items.js +0 -19
  25. package/dist/tests/db-tests/tests/filtered-include-items.js.map +0 -1
  26. package/dist/tests/db-tests/tests/insert-into.d.ts +0 -3
  27. package/dist/tests/db-tests/tests/insert-into.d.ts.map +0 -1
  28. package/dist/tests/db-tests/tests/insert-into.js +0 -17
  29. package/dist/tests/db-tests/tests/insert-into.js.map +0 -1
  30. package/dist/tests/db-tests/tests/multi-fk-tests.d.ts +0 -3
  31. package/dist/tests/db-tests/tests/multi-fk-tests.d.ts.map +0 -1
  32. package/dist/tests/db-tests/tests/multi-fk-tests.js +0 -29
  33. package/dist/tests/db-tests/tests/multi-fk-tests.js.map +0 -1
  34. package/dist/tests/db-tests/tests/select-identity.d.ts +0 -3
  35. package/dist/tests/db-tests/tests/select-identity.d.ts.map +0 -1
  36. package/dist/tests/db-tests/tests/select-identity.js +0 -16
  37. package/dist/tests/db-tests/tests/select-identity.js.map +0 -1
  38. package/dist/tests/db-tests/tests/select-inverse-one-to-one.d.ts +0 -3
  39. package/dist/tests/db-tests/tests/select-inverse-one-to-one.d.ts.map +0 -1
  40. package/dist/tests/db-tests/tests/select-inverse-one-to-one.js +0 -27
  41. package/dist/tests/db-tests/tests/select-inverse-one-to-one.js.map +0 -1
  42. package/dist/tests/db-tests/tests/select-items-map.d.ts +0 -3
  43. package/dist/tests/db-tests/tests/select-items-map.d.ts.map +0 -1
  44. package/dist/tests/db-tests/tests/select-items-map.js +0 -28
  45. package/dist/tests/db-tests/tests/select-items-map.js.map +0 -1
  46. package/dist/tests/db-tests/tests/select-items-sum.d.ts +0 -3
  47. package/dist/tests/db-tests/tests/select-items-sum.d.ts.map +0 -1
  48. package/dist/tests/db-tests/tests/select-items-sum.js +0 -46
  49. package/dist/tests/db-tests/tests/select-items-sum.js.map +0 -1
  50. package/dist/tests/db-tests/tests/select-items.d.ts +0 -3
  51. package/dist/tests/db-tests/tests/select-items.d.ts.map +0 -1
  52. package/dist/tests/db-tests/tests/select-items.js +0 -30
  53. package/dist/tests/db-tests/tests/select-items.js.map +0 -1
  54. package/dist/tests/db-tests/tests/select-map.d.ts +0 -3
  55. package/dist/tests/db-tests/tests/select-map.d.ts.map +0 -1
  56. package/dist/tests/db-tests/tests/select-map.js +0 -12
  57. package/dist/tests/db-tests/tests/select-map.js.map +0 -1
  58. package/dist/tests/db-tests/tests/select-nested.d.ts +0 -3
  59. package/dist/tests/db-tests/tests/select-nested.d.ts.map +0 -1
  60. package/dist/tests/db-tests/tests/select-nested.js +0 -25
  61. package/dist/tests/db-tests/tests/select-nested.js.map +0 -1
  62. package/dist/tests/db-tests/tests/select-parent.d.ts +0 -3
  63. package/dist/tests/db-tests/tests/select-parent.d.ts.map +0 -1
  64. package/dist/tests/db-tests/tests/select-parent.js +0 -17
  65. package/dist/tests/db-tests/tests/select-parent.js.map +0 -1
  66. package/dist/tests/db-tests/tests/select-related.d.ts +0 -3
  67. package/dist/tests/db-tests/tests/select-related.d.ts.map +0 -1
  68. package/dist/tests/db-tests/tests/select-related.js +0 -20
  69. package/dist/tests/db-tests/tests/select-related.js.map +0 -1
  70. package/dist/tests/db-tests/tests/update-items.d.ts +0 -3
  71. package/dist/tests/db-tests/tests/update-items.d.ts.map +0 -1
  72. package/dist/tests/db-tests/tests/update-items.js +0 -31
  73. package/dist/tests/db-tests/tests/update-items.js.map +0 -1
  74. package/dist/tests/db-tests/tests/update-select.d.ts +0 -3
  75. package/dist/tests/db-tests/tests/update-select.d.ts.map +0 -1
  76. package/dist/tests/db-tests/tests/update-select.js +0 -19
  77. package/dist/tests/db-tests/tests/update-select.js.map +0 -1
  78. package/dist/tests/db-tests/tests/upsert-test.d.ts +0 -3
  79. package/dist/tests/db-tests/tests/upsert-test.d.ts.map +0 -1
  80. package/dist/tests/db-tests/tests/upsert-test.js +0 -31
  81. package/dist/tests/db-tests/tests/upsert-test.js.map +0 -1
  82. package/dist/tests/db-tests/tests/version-history.d.ts +0 -3
  83. package/dist/tests/db-tests/tests/version-history.d.ts.map +0 -1
  84. package/dist/tests/db-tests/tests/version-history.js +0 -16
  85. package/dist/tests/db-tests/tests/version-history.js.map +0 -1
  86. package/dist/tests/db-tests/transaction-save-point/transaction-save-point.d.ts +0 -3
  87. package/dist/tests/db-tests/transaction-save-point/transaction-save-point.d.ts.map +0 -1
  88. package/dist/tests/db-tests/transaction-save-point/transaction-save-point.js +0 -58
  89. package/dist/tests/db-tests/transaction-save-point/transaction-save-point.js.map +0 -1
  90. package/dist/tests/drivers/postgres/connection-test.d.ts +0 -3
  91. package/dist/tests/drivers/postgres/connection-test.d.ts.map +0 -1
  92. package/dist/tests/drivers/postgres/connection-test.js +0 -40
  93. package/dist/tests/drivers/postgres/connection-test.js.map +0 -1
  94. package/dist/tests/drivers/sql-server/sql-server-test.d.ts +0 -2
  95. package/dist/tests/drivers/sql-server/sql-server-test.d.ts.map +0 -1
  96. package/dist/tests/drivers/sql-server/sql-server-test.js +0 -6
  97. package/dist/tests/drivers/sql-server/sql-server-test.js.map +0 -1
  98. package/dist/tests/eternity/child-tests.d.ts +0 -3
  99. package/dist/tests/eternity/child-tests.d.ts.map +0 -1
  100. package/dist/tests/eternity/child-tests.js +0 -97
  101. package/dist/tests/eternity/child-tests.js.map +0 -1
  102. package/dist/tests/eternity/eternity-tests.d.ts +0 -3
  103. package/dist/tests/eternity/eternity-tests.d.ts.map +0 -1
  104. package/dist/tests/eternity/eternity-tests.js +0 -85
  105. package/dist/tests/eternity/eternity-tests.js.map +0 -1
  106. package/dist/tests/eternity/external-event-tests.d.ts +0 -3
  107. package/dist/tests/eternity/external-event-tests.d.ts.map +0 -1
  108. package/dist/tests/eternity/external-event-tests.js +0 -108
  109. package/dist/tests/eternity/external-event-tests.js.map +0 -1
  110. package/dist/tests/eternity/throttle-tests.d.ts +0 -3
  111. package/dist/tests/eternity/throttle-tests.d.ts.map +0 -1
  112. package/dist/tests/eternity/throttle-tests.js +0 -86
  113. package/dist/tests/eternity/throttle-tests.js.map +0 -1
  114. package/dist/tests/expressions/left-joins/child-joins.d.ts +0 -2
  115. package/dist/tests/expressions/left-joins/child-joins.d.ts.map +0 -1
  116. package/dist/tests/expressions/left-joins/child-joins.js +0 -114
  117. package/dist/tests/expressions/left-joins/child-joins.js.map +0 -1
  118. package/dist/tests/expressions/sanitize/sanitize-test.d.ts +0 -2
  119. package/dist/tests/expressions/sanitize/sanitize-test.d.ts.map +0 -1
  120. package/dist/tests/expressions/sanitize/sanitize-test.js +0 -8
  121. package/dist/tests/expressions/sanitize/sanitize-test.js.map +0 -1
  122. package/dist/tests/expressions/select/select.d.ts +0 -2
  123. package/dist/tests/expressions/select/select.d.ts.map +0 -1
  124. package/dist/tests/expressions/select/select.js +0 -11
  125. package/dist/tests/expressions/select/select.js.map +0 -1
  126. package/dist/tests/expressions/self-joins/self-joins.d.ts +0 -2
  127. package/dist/tests/expressions/self-joins/self-joins.d.ts.map +0 -1
  128. package/dist/tests/expressions/self-joins/self-joins.js +0 -14
  129. package/dist/tests/expressions/self-joins/self-joins.js.map +0 -1
  130. package/dist/tests/expressions/simple/parse-array.d.ts +0 -2
  131. package/dist/tests/expressions/simple/parse-array.d.ts.map +0 -1
  132. package/dist/tests/expressions/simple/parse-array.js +0 -21
  133. package/dist/tests/expressions/simple/parse-array.js.map +0 -1
  134. package/dist/tests/expressions/simple/parse-arrow.d.ts +0 -2
  135. package/dist/tests/expressions/simple/parse-arrow.d.ts.map +0 -1
  136. package/dist/tests/expressions/simple/parse-arrow.js +0 -36
  137. package/dist/tests/expressions/simple/parse-arrow.js.map +0 -1
  138. package/dist/tests/expressions/simple/parse-complex.d.ts +0 -2
  139. package/dist/tests/expressions/simple/parse-complex.d.ts.map +0 -1
  140. package/dist/tests/expressions/simple/parse-complex.js +0 -11
  141. package/dist/tests/expressions/simple/parse-complex.js.map +0 -1
  142. package/dist/tests/expressions/trimInternal.d.ts +0 -3
  143. package/dist/tests/expressions/trimInternal.d.ts.map +0 -1
  144. package/dist/tests/expressions/trimInternal.js +0 -24
  145. package/dist/tests/expressions/trimInternal.js.map +0 -1
  146. package/dist/tests/model/ShoppingContext.d.ts +0 -140
  147. package/dist/tests/model/ShoppingContext.d.ts.map +0 -1
  148. package/dist/tests/model/ShoppingContext.js +0 -440
  149. package/dist/tests/model/ShoppingContext.js.map +0 -1
  150. package/dist/tests/model/UseFile.d.ts +0 -8
  151. package/dist/tests/model/UseFile.d.ts.map +0 -1
  152. package/dist/tests/model/UseFile.js +0 -25
  153. package/dist/tests/model/UseFile.js.map +0 -1
  154. package/dist/tests/model/createContext.d.ts +0 -6
  155. package/dist/tests/model/createContext.d.ts.map +0 -1
  156. package/dist/tests/model/createContext.js +0 -327
  157. package/dist/tests/model/createContext.js.map +0 -1
  158. package/dist/tests/pool/pool-test.d.ts +0 -2
  159. package/dist/tests/pool/pool-test.d.ts.map +0 -1
  160. package/dist/tests/pool/pool-test.js +0 -66
  161. package/dist/tests/pool/pool-test.js.map +0 -1
  162. package/dist/tests/query/combine.d.ts +0 -2
  163. package/dist/tests/query/combine.d.ts.map +0 -1
  164. package/dist/tests/query/combine.js +0 -20
  165. package/dist/tests/query/combine.js.map +0 -1
  166. package/dist/tests/security/ShoppingContextEvents.d.ts +0 -5
  167. package/dist/tests/security/ShoppingContextEvents.d.ts.map +0 -1
  168. package/dist/tests/security/ShoppingContextEvents.js +0 -20
  169. package/dist/tests/security/ShoppingContextEvents.js.map +0 -1
  170. package/dist/tests/security/events/OrderEvents.d.ts +0 -17
  171. package/dist/tests/security/events/OrderEvents.d.ts.map +0 -1
  172. package/dist/tests/security/events/OrderEvents.js +0 -62
  173. package/dist/tests/security/events/OrderEvents.js.map +0 -1
  174. package/dist/tests/security/events/ProductEvents.d.ts +0 -23
  175. package/dist/tests/security/events/ProductEvents.d.ts.map +0 -1
  176. package/dist/tests/security/events/ProductEvents.js +0 -79
  177. package/dist/tests/security/events/ProductEvents.js.map +0 -1
  178. package/dist/tests/security/events/UserEvents.d.ts +0 -10
  179. package/dist/tests/security/events/UserEvents.d.ts.map +0 -1
  180. package/dist/tests/security/events/UserEvents.js +0 -26
  181. package/dist/tests/security/events/UserEvents.js.map +0 -1
  182. package/dist/tests/security/events/UserFileEvents.d.ts +0 -7
  183. package/dist/tests/security/events/UserFileEvents.d.ts.map +0 -1
  184. package/dist/tests/security/events/UserFileEvents.js +0 -7
  185. package/dist/tests/security/events/UserFileEvents.js.map +0 -1
  186. package/dist/tests/security/events/UserInfo.d.ts +0 -5
  187. package/dist/tests/security/events/UserInfo.d.ts.map +0 -1
  188. package/dist/tests/security/events/UserInfo.js +0 -9
  189. package/dist/tests/security/events/UserInfo.js.map +0 -1
  190. package/dist/tests/security/tests/include-items.d.ts +0 -3
  191. package/dist/tests/security/tests/include-items.d.ts.map +0 -1
  192. package/dist/tests/security/tests/include-items.js +0 -15
  193. package/dist/tests/security/tests/include-items.js.map +0 -1
  194. package/dist/tests/security/tests/place-order.d.ts +0 -3
  195. package/dist/tests/security/tests/place-order.d.ts.map +0 -1
  196. package/dist/tests/security/tests/place-order.js +0 -139
  197. package/dist/tests/security/tests/place-order.js.map +0 -1
  198. package/dist/tests/security/tests/test-events.d.ts +0 -3
  199. package/dist/tests/security/tests/test-events.d.ts.map +0 -1
  200. package/dist/tests/security/tests/test-events.js +0 -54
  201. package/dist/tests/security/tests/test-events.js.map +0 -1
  202. package/src/tests/TestConfig.ts +0 -6
  203. package/src/tests/db-tests/tests/check-constraint-test.ts +0 -32
  204. package/src/tests/db-tests/tests/delete-items.ts +0 -42
  205. package/src/tests/db-tests/tests/filtered-include-items.ts +0 -28
  206. package/src/tests/db-tests/tests/insert-into.ts +0 -24
  207. package/src/tests/db-tests/tests/multi-fk-tests.ts +0 -37
  208. package/src/tests/db-tests/tests/select-identity.ts +0 -23
  209. package/src/tests/db-tests/tests/select-inverse-one-to-one.ts +0 -39
  210. package/src/tests/db-tests/tests/select-items-map.ts +0 -38
  211. package/src/tests/db-tests/tests/select-items-sum.ts +0 -60
  212. package/src/tests/db-tests/tests/select-items.ts +0 -49
  213. package/src/tests/db-tests/tests/select-map.ts +0 -19
  214. package/src/tests/db-tests/tests/select-nested.ts +0 -36
  215. package/src/tests/db-tests/tests/select-parent.ts +0 -25
  216. package/src/tests/db-tests/tests/select-related.ts +0 -35
  217. package/src/tests/db-tests/tests/update-items.ts +0 -44
  218. package/src/tests/db-tests/tests/update-select.ts +0 -28
  219. package/src/tests/db-tests/tests/upsert-test.ts +0 -48
  220. package/src/tests/db-tests/tests/version-history.ts +0 -24
  221. package/src/tests/db-tests/transaction-save-point/transaction-save-point.ts +0 -48
  222. package/src/tests/drivers/postgres/connection-test.ts +0 -39
  223. package/src/tests/drivers/sql-server/sql-server-test.ts +0 -9
  224. package/src/tests/eternity/child-tests.ts +0 -119
  225. package/src/tests/eternity/eternity-tests.ts +0 -108
  226. package/src/tests/eternity/external-event-tests.ts +0 -133
  227. package/src/tests/eternity/throttle-tests.ts +0 -100
  228. package/src/tests/expressions/left-joins/child-joins.ts +0 -131
  229. package/src/tests/expressions/sanitize/sanitize-test.ts +0 -17
  230. package/src/tests/expressions/select/select.ts +0 -21
  231. package/src/tests/expressions/self-joins/self-joins.ts +0 -23
  232. package/src/tests/expressions/simple/parse-array.ts +0 -31
  233. package/src/tests/expressions/simple/parse-arrow.ts +0 -65
  234. package/src/tests/expressions/simple/parse-complex.ts +0 -20
  235. package/src/tests/expressions/trimInternal.ts +0 -25
  236. package/src/tests/model/ShoppingContext.ts +0 -435
  237. package/src/tests/model/UseFile.ts +0 -24
  238. package/src/tests/model/createContext.ts +0 -367
  239. package/src/tests/pool/pool-test.ts +0 -79
  240. package/src/tests/query/combine.ts +0 -28
  241. package/src/tests/security/ShoppingContextEvents.ts +0 -23
  242. package/src/tests/security/events/OrderEvents.ts +0 -72
  243. package/src/tests/security/events/ProductEvents.ts +0 -102
  244. package/src/tests/security/events/UserEvents.ts +0 -28
  245. package/src/tests/security/events/UserFileEvents.ts +0 -11
  246. package/src/tests/security/events/UserInfo.ts +0 -7
  247. package/src/tests/security/tests/include-items.ts +0 -20
  248. package/src/tests/security/tests/place-order.ts +0 -138
  249. 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,7 +0,0 @@
1
- import { RegisterScoped } from "../../../di/di.js";
2
-
3
- @RegisterScoped
4
- export class UserInfo {
5
- public userID: number;
6
- public admin: boolean;
7
- }
@@ -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
- }