Skip to content

Commit 3887437

Browse files
committed
Update tests
1 parent d0703b9 commit 3887437

File tree

7 files changed

+1247
-656
lines changed

7 files changed

+1247
-656
lines changed

.eslintignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
**/node_modules/**
2+
**/build/**
3+
**/lib/**
4+
5+
packages/client/**
6+
7+
#ignore generated types
8+
packages/types/src/graphql.ts

.eslintrc

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,16 @@
22
"env": {
33
"node": true
44
},
5-
"parser": "@typescript-eslint/parser",
65
"parserOptions": {
7-
"project": "./tsconfig.json",
8-
"sourceType": "module"
6+
"project": "./tsconfig.json"
97
},
108
"ignorePatterns": ["dist/test/*", "typedoc.js"],
11-
"plugins": ["@typescript-eslint", "prefer-arrow", "import"],
12-
"extends": [
13-
"plugin:@typescript-eslint/eslint-recommended",
14-
"plugin:@typescript-eslint/recommended",
15-
"prettier",
16-
"prettier/@typescript-eslint"
17-
],
9+
"extends": ["standard-with-typescript", "prettier", "prettier/@typescript-eslint"],
1810
"root": true,
1911
"rules": {
20-
"indent": ["error", 4],
2112
"@typescript-eslint/interface-name-prefix": "off",
2213
"@typescript-eslint/explicit-function-return-type": "off",
2314
"@typescript-eslint/no-explicit-any": "off",
24-
"@typescript-eslint/no-unused-vars": "off",
2515
"@typescript-eslint/no-empty-interface": "off"
2616
}
2717
}

package.json

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@
99
"scripts": {
1010
"build": "rm -Rf ./dist && tsc",
1111
"doc": "rm -Rf ./docs && typedoc ./src && touch ./docs/.nojekyll",
12-
"test:ci": "jest --runInBand",
13-
"test": "jest",
14-
"test:watch": "jest --watch",
15-
"test:cov": "jest --coverage",
16-
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest",
12+
"test": "NODE_CONFIG_DIR=src/test/config jest",
13+
"test:watch": "NODE_CONFIG_DIR=src/test/config jest --watch",
14+
"test:cov": "NODE_CONFIG_DIR=src/test/config jest --coverage",
15+
"test:debug": "NODE_CONFIG_DIR=src/test/config node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest",
1716
"lint": "eslint ./src/**/*.ts",
1817
"format": "prettier \"**/*.ts\" --ignore-path ./.prettierignore --write && git status"
1918
},
@@ -24,26 +23,32 @@
2423
"@nestjs/common": "^6 || ^7"
2524
},
2625
"devDependencies": {
27-
"@nestjs/core": "7.0.9",
28-
"@nestjs/common": "7.0.9",
29-
"@nestjs/testing": "7.0.9",
30-
"@types/jest": "25.2.1",
31-
"@typescript-eslint/eslint-plugin": "2.31.0",
32-
"@typescript-eslint/parser": "2.31.0",
26+
"@nestjs/common": "7.1.3",
27+
"@nestjs/core": "7.1.3",
28+
"@nestjs/platform-express": "7.1.3",
29+
"@nestjs/testing": "7.1.3",
30+
"@types/config": "0.0.36",
31+
"@types/jest": "25.2.3",
32+
"codecov": "3.7.0",
33+
"@typescript-eslint/eslint-plugin": "3.1.0",
34+
"@typescript-eslint/parser": "3.1.0",
3335
"eslint": "6.8.0",
36+
"eslint-config-prettier": "6.11.0",
37+
"eslint-config-standard-with-typescript": "18.0.2",
3438
"eslint-plugin-import": "2.20.2",
39+
"eslint-plugin-node": "11.1.0",
3540
"eslint-plugin-prefer-arrow": "1.2.1",
36-
"eslint-config-prettier": "6.11.0",
41+
"eslint-plugin-promise": "4.2.1",
42+
"eslint-plugin-standard": "4.0.1",
3743
"prettier": "2.0.5",
38-
"codecov": "3.6.5",
39-
"jest": "25.5.4",
4044
"reflect-metadata": "0.1.13",
4145
"rxjs": "6.5.5",
42-
"ts-jest": "25.4.0",
43-
"ts-node": "8.10.1",
46+
"jest": "26.0.1",
47+
"ts-jest": "26.1.0",
48+
"ts-node": "8.10.2",
4449
"tsconfig-paths": "3.9.0",
45-
"typedoc": "0.17.6",
46-
"typescript": "3.8.3"
50+
"typedoc": "0.17.7",
51+
"typescript": "3.9.3"
4752
},
4853
"jest": {
4954
"moduleFileExtensions": [

src/module.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
import { Global, Inject, Module } from '@nestjs/common';
2-
import config from 'config';
2+
import * as config from 'config';
33

44
import { CONFIG_TOKEN } from './constants';
55

6+
process.env.NODE_CONFIG = JSON.stringify({
7+
test: { foo: "bar", bar: "foo" }
8+
});
9+
10+
611
export const configProvider = {
712
provide: CONFIG_TOKEN,
813
useValue: config
@@ -19,4 +24,4 @@ export const InjectConfig = () => Inject(CONFIG_TOKEN);
1924
providers: [configProvider],
2025
exports: [configProvider]
2126
})
22-
export class ConfigModule {}
27+
export class NodeConfigModule { }

src/test/config/test.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{ "foo": "bar", "bar": "foo" }

src/test/module.spec.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import { INestApplication } from '@nestjs/common';
2+
import { Test } from '@nestjs/testing';
3+
4+
import { getConfigToken, IConfig, NodeConfigModule } from '../module';
5+
6+
let app: INestApplication;
7+
8+
beforeAll(async () => {
9+
const mod = await Test.createTestingModule({
10+
imports: [
11+
NodeConfigModule
12+
]
13+
}).compile();
14+
app = mod.createNestApplication();
15+
await app.init();
16+
});
17+
18+
describe('Module', () => {
19+
it('should initialize the module and get values', () => {
20+
const config = app.get<IConfig>(getConfigToken());
21+
expect(config).toBeDefined();
22+
expect(config.get('foo')).toBe('bar')
23+
expect(config.get('bar')).toBe('foo')
24+
})
25+
26+
})

0 commit comments

Comments
 (0)