@expo/entity-database-adapter-knex 0.34.0 → 0.36.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.
Files changed (41) hide show
  1. package/build/PostgresEntityDatabaseAdapter.d.ts +1 -1
  2. package/build/PostgresEntityDatabaseAdapter.js.map +1 -1
  3. package/build/PostgresEntityDatabaseAdapterProvider.d.ts +1 -1
  4. package/build/PostgresEntityQueryContextProvider.js +1 -0
  5. package/build/PostgresEntityQueryContextProvider.js.map +1 -1
  6. package/build/__integration-tests__/PostgresEntityIntegration-test.js +118 -135
  7. package/build/__integration-tests__/PostgresEntityIntegration-test.js.map +1 -1
  8. package/build/__integration-tests__/PostgresEntityQueryContextProvider-test.js +5 -15
  9. package/build/__integration-tests__/PostgresEntityQueryContextProvider-test.js.map +1 -1
  10. package/build/__integration-tests__/PostgresInvalidSetup-test.js +9 -28
  11. package/build/__integration-tests__/PostgresInvalidSetup-test.js.map +1 -1
  12. package/build/__integration-tests__/errors-test.js +13 -15
  13. package/build/__integration-tests__/errors-test.js.map +1 -1
  14. package/build/errors/__tests__/wrapNativePostgresCallAsync-test.js.map +1 -1
  15. package/build/errors/wrapNativePostgresCallAsync.js.map +1 -1
  16. package/build/testfixtures/ErrorsTestEntity.js +12 -15
  17. package/build/testfixtures/ErrorsTestEntity.js.map +1 -1
  18. package/build/testfixtures/InvalidTestEntity.js +12 -15
  19. package/build/testfixtures/InvalidTestEntity.js.map +1 -1
  20. package/build/testfixtures/PostgresTestEntity.js +12 -15
  21. package/build/testfixtures/PostgresTestEntity.js.map +1 -1
  22. package/build/testfixtures/PostgresTriggerTestEntity.js +16 -15
  23. package/build/testfixtures/PostgresTriggerTestEntity.js.map +1 -1
  24. package/build/testfixtures/PostgresUniqueTestEntity.js +12 -15
  25. package/build/testfixtures/PostgresUniqueTestEntity.js.map +1 -1
  26. package/build/testfixtures/PostgresValidatorTestEntity.js +14 -15
  27. package/build/testfixtures/PostgresValidatorTestEntity.js.map +1 -1
  28. package/package.json +5 -5
  29. package/src/PostgresEntityDatabaseAdapter.ts +15 -13
  30. package/src/PostgresEntityDatabaseAdapterProvider.ts +2 -2
  31. package/src/PostgresEntityQueryContextProvider.ts +5 -5
  32. package/src/__integration-tests__/PostgresEntityIntegration-test.ts +195 -456
  33. package/src/__integration-tests__/PostgresEntityQueryContextProvider-test.ts +5 -30
  34. package/src/__integration-tests__/PostgresInvalidSetup-test.ts +11 -57
  35. package/src/__integration-tests__/errors-test.ts +25 -66
  36. package/src/__tests__/EntityFields-test.ts +3 -3
  37. package/src/errors/wrapNativePostgresCallAsync.ts +2 -2
  38. package/src/testfixtures/ErrorsTestEntity.ts +2 -2
  39. package/src/testfixtures/PostgresTriggerTestEntity.ts +10 -4
  40. package/src/testfixtures/PostgresValidatorTestEntity.ts +2 -2
  41. package/src/testfixtures/createKnexIntegrationTestEntityCompanionProvider.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  import { EntityDatabaseAdapter, FieldTransformerMap, TableQuerySelectionModifiers, TableFieldSingleValueEqualityCondition, TableFieldMultiValueEqualityCondition, TableQuerySelectionModifiersWithOrderByRaw } from '@expo/entity';
2
2
  import { Knex } from 'knex';
3
- export default class PostgresEntityDatabaseAdapter<TFields> extends EntityDatabaseAdapter<TFields> {
3
+ export default class PostgresEntityDatabaseAdapter<TFields extends Record<string, any>> extends EntityDatabaseAdapter<TFields> {
4
4
  protected getFieldTransformerMap(): FieldTransformerMap;
5
5
  protected fetchManyWhereInternalAsync(queryInterface: Knex, tableName: string, tableField: string, tableValues: readonly any[]): Promise<object[]>;
6
6
  private applyQueryModifiersToQueryOrderByRaw;
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresEntityDatabaseAdapter.js","sourceRoot":"","sources":["../src/PostgresEntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresEntityDatabaseAdapter.js","sourceRoot":"","sources":["../src/PostgresEntityDatabaseAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { IEntityDatabaseAdapterProvider, EntityConfiguration, EntityDatabaseAdapter } from '@expo/entity';
2
2
  export default class PostgresEntityDatabaseAdapterProvider implements IEntityDatabaseAdapterProvider {
3
- getDatabaseAdapter<TFields>(entityConfiguration: EntityConfiguration<TFields>): EntityDatabaseAdapter<TFields>;
3
+ getDatabaseAdapter<TFields extends Record<string, any>>(entityConfiguration: EntityConfiguration<TFields>): EntityDatabaseAdapter<TFields>;
4
4
  }
@@ -5,6 +5,7 @@ const entity_1 = require("@expo/entity");
5
5
  * Query context provider for knex (postgres).
6
6
  */
7
7
  class PostgresEntityQueryContextProvider extends entity_1.EntityQueryContextProvider {
8
+ knexInstance;
8
9
  constructor(knexInstance) {
9
10
  super();
10
11
  this.knexInstance = knexInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresEntityQueryContextProvider.js","sourceRoot":"","sources":["../src/PostgresEntityQueryContextProvider.ts"],"names":[],"mappings":";;AAAA,yCAIsB;AAGtB;;GAEG;AACH,MAAqB,kCAAmC,SAAQ,mCAA0B;IACxF,YAA6B,YAAkB;QAC7C,KAAK,EAAE,CAAC;QADmB,iBAAY,GAAZ,YAAY,CAAM;IAE/C,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAES,uBAAuB,CAC/B,iBAAqC;QAErC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAC1B,IAAI,CAAC,YAAY,CAAC,WAAW,CAC3B,gBAAgB,EAChB,iBAAiB;YACf,CAAC,CAAC,kCAAkC,CAAC,wBAAwB,CAAC,iBAAiB,CAAC;YAChF,CAAC,CAAC,SAAS,CACd,CAAC;IACN,CAAC;IAES,6BAA6B,CACrC,mBAAwB;QAExB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAE,mBAA4B,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC3F,CAAC;IAEO,MAAM,CAAC,wBAAwB,CACrC,iBAAoC;QAEpC,MAAM,qBAAqB,GAAG,CAC5B,cAAyC,EACnB,EAAE;YACxB,QAAQ,cAAc,EAAE;gBACtB,KAAK,kCAAyB,CAAC,cAAc;oBAC3C,OAAO,gBAAgB,CAAC;gBAC1B,KAAK,kCAAyB,CAAC,eAAe;oBAC5C,OAAO,iBAAiB,CAAC;gBAC3B,KAAK,kCAAyB,CAAC,YAAY;oBACzC,OAAO,cAAc,CAAC;aACzB;QACH,CAAC,CAAC;QAEF,OAAO;YACL,GAAG,CAAC,iBAAiB,CAAC,cAAc;gBAClC,CAAC,CAAC,EAAE,cAAc,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE;gBAC7E,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;CACF;AAjDD,qDAiDC"}
1
+ {"version":3,"file":"PostgresEntityQueryContextProvider.js","sourceRoot":"","sources":["../src/PostgresEntityQueryContextProvider.ts"],"names":[],"mappings":";;AAAA,yCAIsB;AAGtB;;GAEG;AACH,MAAqB,kCAAmC,SAAQ,mCAA0B;IAC3D;IAA7B,YAA6B,YAAkB;QAC7C,KAAK,EAAE,CAAC;QADmB,iBAAY,GAAZ,YAAY,CAAM;IAE/C,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAES,uBAAuB,CAC/B,iBAAqC;QAErC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAC1B,IAAI,CAAC,YAAY,CAAC,WAAW,CAC3B,gBAAgB,EAChB,iBAAiB;YACf,CAAC,CAAC,kCAAkC,CAAC,wBAAwB,CAAC,iBAAiB,CAAC;YAChF,CAAC,CAAC,SAAS,CACd,CAAC;IACN,CAAC;IAES,6BAA6B,CACrC,mBAAwB;QAExB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAE,mBAA4B,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC3F,CAAC;IAEO,MAAM,CAAC,wBAAwB,CACrC,iBAAoC;QAEpC,MAAM,qBAAqB,GAAG,CAC5B,cAAyC,EACnB,EAAE;YACxB,QAAQ,cAAc,EAAE,CAAC;gBACvB,KAAK,kCAAyB,CAAC,cAAc;oBAC3C,OAAO,gBAAgB,CAAC;gBAC1B,KAAK,kCAAyB,CAAC,eAAe;oBAC5C,OAAO,iBAAiB,CAAC;gBAC3B,KAAK,kCAAyB,CAAC,YAAY;oBACzC,OAAO,cAAc,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;YACL,GAAG,CAAC,iBAAiB,CAAC,cAAc;gBAClC,CAAC,CAAC,EAAE,cAAc,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE;gBAC7E,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;CACF;AAjDD,qDAiDC"}
@@ -7,6 +7,7 @@ const entity_1 = require("@expo/entity");
7
7
  const results_1 = require("@expo/results");
8
8
  const knex_1 = require("knex");
9
9
  const nullthrows_1 = __importDefault(require("nullthrows"));
10
+ const promises_1 = require("timers/promises");
10
11
  const PostgresTestEntity_1 = __importDefault(require("../testfixtures/PostgresTestEntity"));
11
12
  const PostgresTriggerTestEntity_1 = __importDefault(require("../testfixtures/PostgresTriggerTestEntity"));
12
13
  const PostgresValidatorTestEntity_1 = __importDefault(require("../testfixtures/PostgresValidatorTestEntity"));
@@ -34,19 +35,13 @@ describe('postgres entity integration', () => {
34
35
  });
35
36
  it('supports parallel partial updates', async () => {
36
37
  const vc = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
37
- const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc, vc.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
38
- .setField('name', 'hello')
39
- .createAsync());
38
+ const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc).setField('name', 'hello').createAsync());
40
39
  // update two different fields at the same time (from the same entity)
41
40
  await Promise.all([
42
- PostgresTestEntity_1.default.updater(entity, vc.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
43
- .setField('hasACat', true)
44
- .updateAsync(),
45
- PostgresTestEntity_1.default.updater(entity, vc.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
46
- .setField('hasADog', false)
47
- .updateAsync(),
41
+ PostgresTestEntity_1.default.updater(entity).setField('hasACat', true).updateAsync(),
42
+ PostgresTestEntity_1.default.updater(entity).setField('hasADog', false).updateAsync(),
48
43
  ]);
49
- const loadedEntity = await PostgresTestEntity_1.default.loader(vc, vc.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
44
+ const loadedEntity = await PostgresTestEntity_1.default.loader(vc)
50
45
  .enforcing()
51
46
  .loadByIDAsync(entity.getID());
52
47
  expect(loadedEntity.getField('hasACat')).toBe(true);
@@ -55,74 +50,78 @@ describe('postgres entity integration', () => {
55
50
  describe('empty creates and updates', () => {
56
51
  it('allows empty create', async () => {
57
52
  const vc = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
58
- const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc, vc.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')).createAsync());
53
+ const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc).createAsync());
59
54
  expect(entity.getID()).toBeTruthy();
60
55
  });
61
56
  it('throws knex error upon empty update', async () => {
62
57
  const vc = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
63
- const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc, vc.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
64
- .setField('name', 'hello')
65
- .createAsync());
66
- await expect(PostgresTestEntity_1.default.updater(entity, vc.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')).updateAsync()).rejects.toThrow();
58
+ const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc).setField('name', 'hello').createAsync());
59
+ await expect(PostgresTestEntity_1.default.updater(entity).updateAsync()).rejects.toThrow();
67
60
  });
68
61
  it('throws error upon empty update for stub database adapter to match behavior', async () => {
69
62
  const vc = new entity_1.ViewerContext((0, entity_1.createUnitTestEntityCompanionProvider)());
70
- const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc, vc.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
71
- .setField('name', 'hello')
72
- .createAsync());
73
- await expect(PostgresTestEntity_1.default.updater(entity, vc.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')).updateAsync()).rejects.toThrow();
63
+ const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc).setField('name', 'hello').createAsync());
64
+ await expect(PostgresTestEntity_1.default.updater(entity).updateAsync()).rejects.toThrow();
74
65
  });
75
66
  });
76
67
  it('supports transactions', async () => {
77
68
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
78
69
  // put one in the DB
79
- const firstEntity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
80
- .setField('name', 'hello')
81
- .createAsync());
82
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')).loadByIDAsync(firstEntity.getID()));
70
+ const firstEntity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1).setField('name', 'hello').createAsync());
71
+ await PostgresTestEntity_1.default.loader(vc1).enforcing().loadByIDAsync(firstEntity.getID());
83
72
  const errorToThrow = new Error('Intentional error');
84
73
  await expect(vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
85
74
  // put another in the DB that will be rolled back due to error thrown
86
75
  await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, queryContext).setField('name', 'hello').createAsync());
87
76
  throw errorToThrow;
88
- })).rejects.toEqual(errorToThrow);
89
- const entities = await (0, entity_1.enforceResultsAsync)(PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres')).loadManyByFieldEqualingAsync('name', 'hello'));
77
+ }, {})).rejects.toEqual(errorToThrow);
78
+ const entities = await PostgresTestEntity_1.default.loader(vc1)
79
+ .enforcing()
80
+ .loadManyByFieldEqualingAsync('name', 'hello');
90
81
  expect(entities).toHaveLength(1);
91
82
  });
92
- it('passes transaction config into transactions', async () => {
93
- const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
94
- const firstEntity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
95
- .setField('name', 'hello')
96
- .createAsync());
97
- const loadAndUpdateAsync = async (newName) => {
98
- try {
99
- await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
100
- const entity = await PostgresTestEntity_1.default.loader(vc1, queryContext)
101
- .enforcing()
102
- .loadByIDAsync(firstEntity.getID());
103
- await PostgresTestEntity_1.default.updater(entity, queryContext)
104
- .setField('name', newName)
105
- .enforceUpdateAsync();
106
- }, { isolationLevel: entity_1.TransactionIsolationLevel.SERIALIZABLE });
107
- return {};
83
+ describe('isolation levels', () => {
84
+ test.each(Object.values(entity_1.TransactionIsolationLevel))('isolation level: %p', async (isolationLevel) => {
85
+ const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
86
+ const firstEntity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1).setField('name', 'hello').createAsync());
87
+ const loadAndUpdateAsync = async (newName, delay) => {
88
+ try {
89
+ await vc1.runInTransactionForDatabaseAdaptorFlavorAsync('postgres', async (queryContext) => {
90
+ const entity = await PostgresTestEntity_1.default.loader(vc1, queryContext)
91
+ .enforcing()
92
+ .loadByIDAsync(firstEntity.getID());
93
+ await (0, promises_1.setTimeout)(delay);
94
+ await PostgresTestEntity_1.default.updater(entity, queryContext)
95
+ .setField('name', entity.getField('name') + ',' + newName)
96
+ .enforceUpdateAsync();
97
+ }, { isolationLevel });
98
+ return {};
99
+ }
100
+ catch (e) {
101
+ return { error: e };
102
+ }
103
+ };
104
+ // do some parallel updates to trigger serializable error in at least some of them
105
+ const results = await Promise.all([
106
+ loadAndUpdateAsync('hello2', 0),
107
+ loadAndUpdateAsync('hello3', 100),
108
+ loadAndUpdateAsync('hello4', 200),
109
+ loadAndUpdateAsync('hello5', 300),
110
+ ]);
111
+ if (isolationLevel === entity_1.TransactionIsolationLevel.READ_COMMITTED) {
112
+ // read committed seems executes the transactions and doesn't produce a consistent result, but doesn't throw
113
+ expect(results.filter((r) => !!r.error).length > 0).toBe(false);
108
114
  }
109
- catch (e) {
110
- return { error: e };
115
+ else {
116
+ // all other isolation levels throw since they're doing nonrepeatable reads
117
+ expect(results.filter((r) => r.error?.cause?.code === '40001').length > 0).toBe(true);
111
118
  }
112
- };
113
- // do some parallel updates to trigger serializable error in at least some of them
114
- const results = await Promise.all([
115
- loadAndUpdateAsync('hello2'),
116
- loadAndUpdateAsync('hello3'),
117
- loadAndUpdateAsync('hello4'),
118
- loadAndUpdateAsync('hello5'),
119
- ]);
120
- expect(results.filter((r) => r.error?.cause?.code === '40001').length > 0).toBe(true);
119
+ });
121
120
  });
122
121
  describe('JSON fields', () => {
123
122
  it('supports both types of array fields', async () => {
124
123
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
125
- const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
124
+ const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
126
125
  .setField('stringArray', ['hello', 'world'])
127
126
  .setField('jsonArrayField', ['hello', 'world'])
128
127
  .createAsync());
@@ -131,17 +130,17 @@ describe('postgres entity integration', () => {
131
130
  });
132
131
  it('supports object field', async () => {
133
132
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
134
- const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
133
+ const entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
135
134
  .setField('jsonObjectField', { hello: 'world' })
136
135
  .createAsync());
137
136
  expect(entity.getField('jsonObjectField')).toEqual({ hello: 'world' });
138
137
  });
139
138
  it('supports MaybeJSONArray field', async () => {
140
139
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
141
- const entity1 = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
140
+ const entity1 = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
142
141
  .setField('maybeJsonArrayField', ['hello', 'world'])
143
142
  .createAsync());
144
- const entity2 = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
143
+ const entity2 = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
145
144
  .setField('maybeJsonArrayField', { hello: 'world' })
146
145
  .createAsync());
147
146
  expect(entity1.getField('maybeJsonArrayField')).toEqual(['hello', 'world']);
@@ -151,39 +150,33 @@ describe('postgres entity integration', () => {
151
150
  describe('BIGINT fields', () => {
152
151
  it('supports BIGINT fields', async () => {
153
152
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
154
- let entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
155
- .setField('bigintField', '72057594037928038')
156
- .createAsync());
153
+ let entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1).setField('bigintField', '72057594037928038').createAsync());
157
154
  expect(entity.getField('bigintField')).toEqual('72057594037928038');
158
- entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.updater(entity, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
159
- .setField('bigintField', '10')
160
- .updateAsync());
155
+ entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.updater(entity).setField('bigintField', '10').updateAsync());
161
156
  expect(entity.getField('bigintField')).toEqual('10');
162
- entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.updater(entity, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
163
- .setField('bigintField', '-10')
164
- .updateAsync());
157
+ entity = await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.updater(entity).setField('bigintField', '-10').updateAsync());
165
158
  expect(entity.getField('bigintField')).toEqual('-10');
166
159
  });
167
160
  });
168
161
  describe('conjunction field equality loading', () => {
169
162
  it('supports single fieldValue and multiple fieldValues', async () => {
170
163
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
171
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
164
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
172
165
  .setField('name', 'hello')
173
166
  .setField('hasACat', false)
174
167
  .setField('hasADog', true)
175
168
  .createAsync());
176
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
169
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
177
170
  .setField('name', 'world')
178
171
  .setField('hasACat', false)
179
172
  .setField('hasADog', true)
180
173
  .createAsync());
181
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
174
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
182
175
  .setField('name', 'wat')
183
176
  .setField('hasACat', false)
184
177
  .setField('hasADog', false)
185
178
  .createAsync());
186
- const results = await PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
179
+ const results = await PostgresTestEntity_1.default.loader(vc1)
187
180
  .enforcing()
188
181
  .loadManyByFieldEqualityConjunctionAsync([
189
182
  {
@@ -196,7 +189,7 @@ describe('postgres entity integration', () => {
196
189
  },
197
190
  ]);
198
191
  expect(results).toHaveLength(2);
199
- const results2 = await PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
192
+ const results2 = await PostgresTestEntity_1.default.loader(vc1)
200
193
  .enforcing()
201
194
  .loadManyByFieldEqualityConjunctionAsync([
202
195
  { fieldName: 'hasADog', fieldValues: [true, false] },
@@ -205,16 +198,10 @@ describe('postgres entity integration', () => {
205
198
  });
206
199
  it('supports query modifiers', async () => {
207
200
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
208
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
209
- .setField('name', 'a')
210
- .createAsync());
211
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
212
- .setField('name', 'b')
213
- .createAsync());
214
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
215
- .setField('name', 'c')
216
- .createAsync());
217
- const results = await PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
201
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1).setField('name', 'a').createAsync());
202
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1).setField('name', 'b').createAsync());
203
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1).setField('name', 'c').createAsync());
204
+ const results = await PostgresTestEntity_1.default.loader(vc1)
218
205
  .enforcing()
219
206
  .loadManyByFieldEqualityConjunctionAsync([], {
220
207
  limit: 2,
@@ -231,28 +218,28 @@ describe('postgres entity integration', () => {
231
218
  });
232
219
  it('supports null field values', async () => {
233
220
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
234
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
221
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
235
222
  .setField('name', 'a')
236
223
  .setField('hasADog', true)
237
224
  .createAsync());
238
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
225
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
239
226
  .setField('name', 'b')
240
227
  .setField('hasADog', true)
241
228
  .createAsync());
242
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
229
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
243
230
  .setField('name', null)
244
231
  .setField('hasADog', true)
245
232
  .createAsync());
246
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
233
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
247
234
  .setField('name', null)
248
235
  .setField('hasADog', false)
249
236
  .createAsync());
250
- const results = await PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
237
+ const results = await PostgresTestEntity_1.default.loader(vc1)
251
238
  .enforcing()
252
239
  .loadManyByFieldEqualityConjunctionAsync([{ fieldName: 'name', fieldValue: null }]);
253
240
  expect(results).toHaveLength(2);
254
241
  expect(results[0].getField('name')).toBeNull();
255
- const results2 = await PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
242
+ const results2 = await PostgresTestEntity_1.default.loader(vc1)
256
243
  .enforcing()
257
244
  .loadManyByFieldEqualityConjunctionAsync([
258
245
  { fieldName: 'name', fieldValues: ['a', null] },
@@ -272,42 +259,42 @@ describe('postgres entity integration', () => {
272
259
  describe('raw where clause loading', () => {
273
260
  it('loads by raw where clause', async () => {
274
261
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
275
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
262
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
276
263
  .setField('name', 'hello')
277
264
  .setField('hasACat', false)
278
265
  .setField('hasADog', true)
279
266
  .createAsync());
280
- const results = await PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
267
+ const results = await PostgresTestEntity_1.default.loader(vc1)
281
268
  .enforcing()
282
269
  .loadManyByRawWhereClauseAsync('name = ?', ['hello']);
283
270
  expect(results).toHaveLength(1);
284
271
  });
285
272
  it('throws with invalid where clause', async () => {
286
273
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
287
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
274
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
288
275
  .setField('name', 'hello')
289
276
  .setField('hasACat', false)
290
277
  .setField('hasADog', true)
291
278
  .createAsync());
292
- await expect(PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
279
+ await expect(PostgresTestEntity_1.default.loader(vc1)
293
280
  .enforcing()
294
281
  .loadManyByRawWhereClauseAsync('invalid_column = ?', ['hello'])).rejects.toThrow();
295
282
  });
296
283
  it('supports query modifiers', async () => {
297
284
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
298
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
285
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
299
286
  .setField('name', 'a')
300
287
  .setField('hasADog', true)
301
288
  .createAsync());
302
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
289
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
303
290
  .setField('name', 'b')
304
291
  .setField('hasADog', true)
305
292
  .createAsync());
306
- await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
293
+ await (0, results_1.enforceAsyncResult)(PostgresTestEntity_1.default.creator(vc1)
307
294
  .setField('name', 'c')
308
295
  .setField('hasADog', true)
309
296
  .createAsync());
310
- const results = await PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
297
+ const results = await PostgresTestEntity_1.default.loader(vc1)
311
298
  .enforcing()
312
299
  .loadManyByRawWhereClauseAsync('has_a_dog = ?', [true], {
313
300
  limit: 2,
@@ -321,7 +308,7 @@ describe('postgres entity integration', () => {
321
308
  });
322
309
  expect(results).toHaveLength(2);
323
310
  expect(results.map((e) => e.getField('name'))).toEqual(['b', 'c']);
324
- const resultsMultipleOrderBy = await PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
311
+ const resultsMultipleOrderBy = await PostgresTestEntity_1.default.loader(vc1)
325
312
  .enforcing()
326
313
  .loadManyByRawWhereClauseAsync('has_a_dog = ?', [true], {
327
314
  orderBy: [
@@ -337,7 +324,7 @@ describe('postgres entity integration', () => {
337
324
  });
338
325
  expect(resultsMultipleOrderBy).toHaveLength(3);
339
326
  expect(resultsMultipleOrderBy.map((e) => e.getField('name'))).toEqual(['c', 'b', 'a']);
340
- const resultsOrderByRaw = await PostgresTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
327
+ const resultsOrderByRaw = await PostgresTestEntity_1.default.loader(vc1)
341
328
  .enforcing()
342
329
  .loadManyByRawWhereClauseAsync('has_a_dog = ?', [true], {
343
330
  orderByRaw: 'has_a_dog ASC, name DESC',
@@ -350,34 +337,30 @@ describe('postgres entity integration', () => {
350
337
  describe('create', () => {
351
338
  it('rolls back transaction when trigger throws except afterCommit', async () => {
352
339
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
353
- await expect(PostgresTriggerTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
340
+ await expect(PostgresTriggerTestEntity_1.default.creator(vc1)
354
341
  .setField('name', 'beforeCreate')
355
342
  .enforceCreateAsync()).rejects.toThrowError('name cannot have value beforeCreate');
356
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
343
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
357
344
  .enforcing()
358
345
  .loadByFieldEqualingAsync('name', 'beforeCreate')).resolves.toBeNull();
359
- await expect(PostgresTriggerTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
346
+ await expect(PostgresTriggerTestEntity_1.default.creator(vc1)
360
347
  .setField('name', 'afterCreate')
361
348
  .enforceCreateAsync()).rejects.toThrowError('name cannot have value afterCreate');
362
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
349
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
363
350
  .enforcing()
364
351
  .loadByFieldEqualingAsync('name', 'afterCreate')).resolves.toBeNull();
365
- await expect(PostgresTriggerTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
366
- .setField('name', 'beforeAll')
367
- .enforceCreateAsync()).rejects.toThrowError('name cannot have value beforeAll');
368
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
352
+ await expect(PostgresTriggerTestEntity_1.default.creator(vc1).setField('name', 'beforeAll').enforceCreateAsync()).rejects.toThrowError('name cannot have value beforeAll');
353
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
369
354
  .enforcing()
370
355
  .loadByFieldEqualingAsync('name', 'beforeAll')).resolves.toBeNull();
371
- await expect(PostgresTriggerTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
372
- .setField('name', 'afterAll')
373
- .enforceCreateAsync()).rejects.toThrowError('name cannot have value afterAll');
374
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
356
+ await expect(PostgresTriggerTestEntity_1.default.creator(vc1).setField('name', 'afterAll').enforceCreateAsync()).rejects.toThrowError('name cannot have value afterAll');
357
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
375
358
  .enforcing()
376
359
  .loadByFieldEqualingAsync('name', 'afterAll')).resolves.toBeNull();
377
- await expect(PostgresTriggerTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
360
+ await expect(PostgresTriggerTestEntity_1.default.creator(vc1)
378
361
  .setField('name', 'afterCommit')
379
362
  .enforceCreateAsync()).rejects.toThrowError('name cannot have value afterCommit');
380
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
363
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
381
364
  .enforcing()
382
365
  .loadByFieldEqualingAsync('name', 'afterCommit')).resolves.not.toBeNull();
383
366
  });
@@ -385,37 +368,37 @@ describe('postgres entity integration', () => {
385
368
  describe('update', () => {
386
369
  it('rolls back transaction when trigger throws except afterCommit', async () => {
387
370
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
388
- const entity = await PostgresTriggerTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
371
+ const entity = await PostgresTriggerTestEntity_1.default.creator(vc1)
389
372
  .setField('name', 'blah')
390
373
  .enforceCreateAsync();
391
- await expect(PostgresTriggerTestEntity_1.default.updater(entity, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
374
+ await expect(PostgresTriggerTestEntity_1.default.updater(entity)
392
375
  .setField('name', 'beforeUpdate')
393
376
  .enforceUpdateAsync()).rejects.toThrowError('name cannot have value beforeUpdate');
394
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
377
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
395
378
  .enforcing()
396
379
  .loadByFieldEqualingAsync('name', 'beforeUpdate')).resolves.toBeNull();
397
- await expect(PostgresTriggerTestEntity_1.default.updater(entity, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
380
+ await expect(PostgresTriggerTestEntity_1.default.updater(entity)
398
381
  .setField('name', 'afterUpdate')
399
382
  .enforceUpdateAsync()).rejects.toThrowError('name cannot have value afterUpdate');
400
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
383
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
401
384
  .enforcing()
402
385
  .loadByFieldEqualingAsync('name', 'afterUpdate')).resolves.toBeNull();
403
- await expect(PostgresTriggerTestEntity_1.default.updater(entity, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
386
+ await expect(PostgresTriggerTestEntity_1.default.updater(entity)
404
387
  .setField('name', 'beforeAll')
405
388
  .enforceUpdateAsync()).rejects.toThrowError('name cannot have value beforeAll');
406
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
389
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
407
390
  .enforcing()
408
391
  .loadByFieldEqualingAsync('name', 'beforeAll')).resolves.toBeNull();
409
- await expect(PostgresTriggerTestEntity_1.default.updater(entity, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
392
+ await expect(PostgresTriggerTestEntity_1.default.updater(entity)
410
393
  .setField('name', 'afterAll')
411
394
  .enforceUpdateAsync()).rejects.toThrowError('name cannot have value afterAll');
412
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
395
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
413
396
  .enforcing()
414
397
  .loadByFieldEqualingAsync('name', 'afterAll')).resolves.toBeNull();
415
- await expect(PostgresTriggerTestEntity_1.default.updater(entity, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
398
+ await expect(PostgresTriggerTestEntity_1.default.updater(entity)
416
399
  .setField('name', 'afterCommit')
417
400
  .enforceUpdateAsync()).rejects.toThrowError('name cannot have value afterCommit');
418
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
401
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
419
402
  .enforcing()
420
403
  .loadByFieldEqualingAsync('name', 'afterCommit')).resolves.not.toBeNull();
421
404
  });
@@ -423,18 +406,18 @@ describe('postgres entity integration', () => {
423
406
  describe('delete', () => {
424
407
  it('rolls back transaction when trigger throws except afterCommit', async () => {
425
408
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
426
- const entityBeforeDelete = await PostgresTriggerTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
409
+ const entityBeforeDelete = await PostgresTriggerTestEntity_1.default.creator(vc1)
427
410
  .setField('name', 'beforeDelete')
428
411
  .enforceCreateAsync();
429
- await expect(PostgresTriggerTestEntity_1.default.enforceDeleteAsync(entityBeforeDelete, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))).rejects.toThrowError('name cannot have value beforeDelete');
430
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
412
+ await expect(PostgresTriggerTestEntity_1.default.enforceDeleteAsync(entityBeforeDelete)).rejects.toThrowError('name cannot have value beforeDelete');
413
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
431
414
  .enforcing()
432
415
  .loadByFieldEqualingAsync('name', 'beforeDelete')).resolves.not.toBeNull();
433
- const entityAfterDelete = await PostgresTriggerTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
416
+ const entityAfterDelete = await PostgresTriggerTestEntity_1.default.creator(vc1)
434
417
  .setField('name', 'afterDelete')
435
418
  .enforceCreateAsync();
436
- await expect(PostgresTriggerTestEntity_1.default.enforceDeleteAsync(entityAfterDelete, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))).rejects.toThrowError('name cannot have value afterDelete');
437
- await expect(PostgresTriggerTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
419
+ await expect(PostgresTriggerTestEntity_1.default.enforceDeleteAsync(entityAfterDelete)).rejects.toThrowError('name cannot have value afterDelete');
420
+ await expect(PostgresTriggerTestEntity_1.default.loader(vc1)
438
421
  .enforcing()
439
422
  .loadByFieldEqualingAsync('name', 'afterDelete')).resolves.not.toBeNull();
440
423
  });
@@ -443,10 +426,10 @@ describe('postgres entity integration', () => {
443
426
  describe('create', () => {
444
427
  it('rolls back transaction when trigger throws ', async () => {
445
428
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
446
- await expect(PostgresValidatorTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
429
+ await expect(PostgresValidatorTestEntity_1.default.creator(vc1)
447
430
  .setField('name', 'beforeCreateAndBeforeUpdate')
448
431
  .enforceCreateAsync()).rejects.toThrowError('name cannot have value beforeCreateAndBeforeUpdate');
449
- await expect(PostgresValidatorTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
432
+ await expect(PostgresValidatorTestEntity_1.default.loader(vc1)
450
433
  .enforcing()
451
434
  .loadByFieldEqualingAsync('name', 'beforeCreateAndBeforeUpdate')).resolves.toBeNull();
452
435
  });
@@ -454,13 +437,13 @@ describe('postgres entity integration', () => {
454
437
  describe('update', () => {
455
438
  it('rolls back transaction when trigger throws ', async () => {
456
439
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
457
- const entity = await PostgresValidatorTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
440
+ const entity = await PostgresValidatorTestEntity_1.default.creator(vc1)
458
441
  .setField('name', 'blah')
459
442
  .enforceCreateAsync();
460
- await expect(PostgresValidatorTestEntity_1.default.updater(entity, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
443
+ await expect(PostgresValidatorTestEntity_1.default.updater(entity)
461
444
  .setField('name', 'beforeCreateAndBeforeUpdate')
462
445
  .enforceUpdateAsync()).rejects.toThrowError('name cannot have value beforeCreateAndBeforeUpdate');
463
- await expect(PostgresValidatorTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
446
+ await expect(PostgresValidatorTestEntity_1.default.loader(vc1)
464
447
  .enforcing()
465
448
  .loadByFieldEqualingAsync('name', 'beforeCreateAndBeforeUpdate')).resolves.toBeNull();
466
449
  });
@@ -468,11 +451,11 @@ describe('postgres entity integration', () => {
468
451
  describe('delete', () => {
469
452
  it('validation should not run on a delete mutation', async () => {
470
453
  const vc1 = new entity_1.ViewerContext((0, createKnexIntegrationTestEntityCompanionProvider_1.createKnexIntegrationTestEntityCompanionProvider)(knexInstance));
471
- const entityToDelete = await PostgresValidatorTestEntity_1.default.creator(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
454
+ const entityToDelete = await PostgresValidatorTestEntity_1.default.creator(vc1)
472
455
  .setField('name', 'shouldBeDeleted')
473
456
  .enforceCreateAsync();
474
- await PostgresValidatorTestEntity_1.default.enforceDeleteAsync(entityToDelete, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'));
475
- await expect(PostgresValidatorTestEntity_1.default.loader(vc1, vc1.getNonTransactionalQueryContextForDatabaseAdaptorFlavor('postgres'))
457
+ await PostgresValidatorTestEntity_1.default.enforceDeleteAsync(entityToDelete);
458
+ await expect(PostgresValidatorTestEntity_1.default.loader(vc1)
476
459
  .enforcing()
477
460
  .loadByFieldEqualingAsync('name', 'shouldBeDeleted')).resolves.toBeNull();
478
461
  });