@expo/entity-database-adapter-knex-testing-utils 0.57.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.
- package/README.md +3 -0
- package/build/src/StubPostgresDatabaseAdapter.d.ts +27 -0
- package/build/src/StubPostgresDatabaseAdapter.js +182 -0
- package/build/src/StubPostgresDatabaseAdapter.js.map +1 -0
- package/build/src/StubPostgresDatabaseAdapterProvider.d.ts +5 -0
- package/build/src/StubPostgresDatabaseAdapterProvider.js +12 -0
- package/build/src/StubPostgresDatabaseAdapterProvider.js.map +1 -0
- package/build/src/createUnitTestPostgresEntityCompanionProvider.d.ts +6 -0
- package/build/src/createUnitTestPostgresEntityCompanionProvider.js +31 -0
- package/build/src/createUnitTestPostgresEntityCompanionProvider.js.map +1 -0
- package/build/src/index.d.ts +7 -0
- package/build/src/index.js +25 -0
- package/build/src/index.js.map +1 -0
- package/package.json +46 -0
- package/src/StubPostgresDatabaseAdapter.ts +301 -0
- package/src/StubPostgresDatabaseAdapterProvider.ts +17 -0
- package/src/__testfixtures__/DateIDTestEntity.ts +62 -0
- package/src/__testfixtures__/SimpleTestEntity.ts +95 -0
- package/src/__testfixtures__/TestEntity.ts +130 -0
- package/src/__testfixtures__/TestEntityNumberKey.ts +62 -0
- package/src/__tests__/FileConsistencyWithEntityDatabaseAdapterKnex-test.ts +33 -0
- package/src/__tests__/StubPostgresDatabaseAdapter-test.ts +933 -0
- package/src/__tests__/createUnitTestPostgresEntityCompanionProvider-test.ts +16 -0
- package/src/createUnitTestPostgresEntityCompanionProvider.ts +42 -0
- package/src/index.ts +9 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EntityCompanionProvider, ViewerContext } from '@expo/entity';
|
|
2
|
+
import { describe, expect, it } from '@jest/globals';
|
|
3
|
+
|
|
4
|
+
import { TestEntity } from '../__testfixtures__/TestEntity';
|
|
5
|
+
import { createUnitTestPostgresEntityCompanionProvider } from '../createUnitTestPostgresEntityCompanionProvider';
|
|
6
|
+
|
|
7
|
+
describe(createUnitTestPostgresEntityCompanionProvider, () => {
|
|
8
|
+
it('creates a new EntityCompanionProvider', async () => {
|
|
9
|
+
const companionProvider = createUnitTestPostgresEntityCompanionProvider();
|
|
10
|
+
expect(companionProvider).toBeInstanceOf(EntityCompanionProvider);
|
|
11
|
+
const viewerContext = new ViewerContext(companionProvider);
|
|
12
|
+
await expect(TestEntity.creator(viewerContext).createAsync()).resolves.toBeInstanceOf(
|
|
13
|
+
TestEntity,
|
|
14
|
+
);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EntityCompanionProvider,
|
|
3
|
+
IEntityMetricsAdapter,
|
|
4
|
+
NoOpEntityMetricsAdapter,
|
|
5
|
+
} from '@expo/entity';
|
|
6
|
+
import {
|
|
7
|
+
InMemoryFullCacheStubCacheAdapterProvider,
|
|
8
|
+
StubQueryContextProvider,
|
|
9
|
+
} from '@expo/entity-testing-utils';
|
|
10
|
+
|
|
11
|
+
import { StubPostgresDatabaseAdapterProvider } from './StubPostgresDatabaseAdapterProvider';
|
|
12
|
+
|
|
13
|
+
const queryContextProvider = new StubQueryContextProvider();
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Entity companion provider for use in knex unit tests. All database and cache implementations
|
|
17
|
+
* are replaced with in-memory simulations.
|
|
18
|
+
*/
|
|
19
|
+
export const createUnitTestPostgresEntityCompanionProvider = (
|
|
20
|
+
metricsAdapter: IEntityMetricsAdapter = new NoOpEntityMetricsAdapter(),
|
|
21
|
+
): EntityCompanionProvider => {
|
|
22
|
+
return new EntityCompanionProvider(
|
|
23
|
+
metricsAdapter,
|
|
24
|
+
new Map([
|
|
25
|
+
[
|
|
26
|
+
'postgres',
|
|
27
|
+
{
|
|
28
|
+
adapterProvider: new StubPostgresDatabaseAdapterProvider(),
|
|
29
|
+
queryContextProvider,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
]),
|
|
33
|
+
new Map([
|
|
34
|
+
[
|
|
35
|
+
'redis',
|
|
36
|
+
{
|
|
37
|
+
cacheAdapterProvider: new InMemoryFullCacheStubCacheAdapterProvider(),
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
]),
|
|
41
|
+
);
|
|
42
|
+
};
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* eslint-disable tsdoc/syntax */
|
|
2
|
+
/**
|
|
3
|
+
* @packageDocumentation
|
|
4
|
+
* @module @expo/entity-database-adapter-knex-testing-utils
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export * from './createUnitTestPostgresEntityCompanionProvider';
|
|
8
|
+
export * from './StubPostgresDatabaseAdapter';
|
|
9
|
+
export * from './StubPostgresDatabaseAdapterProvider';
|