Skip to content

Commit 20a5e7e

Browse files
Merge pull request nestjs#1151 from nestjs/bugfix/1150-defaults
bugfix(core) make use of default assignments (DI)
2 parents eba4102 + b908420 commit 20a5e7e

5 files changed

Lines changed: 39 additions & 1 deletion

File tree

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { Test } from '@nestjs/testing';
2+
import { expect } from 'chai';
3+
import { DefaultsModule } from '../src/defaults/defaults.module';
4+
import { DefaultsService } from '../src/defaults/defaults.service';
5+
6+
describe('Injector', () => {
7+
describe('when optional', () => {
8+
it(`should make use of default assignments`, async () => {
9+
const builder = Test.createTestingModule({
10+
imports: [DefaultsModule],
11+
});
12+
const app = await builder.compile();
13+
expect(app.get(DefaultsService).coreService.default).to.be.true;
14+
});
15+
});
16+
});
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import { Injectable } from '@nestjs/common';
2+
3+
@Injectable()
4+
export class CoreService {}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { Module } from '@nestjs/common';
2+
import { DefaultsService } from './defaults.service';
3+
4+
@Module({
5+
providers: [DefaultsService],
6+
})
7+
export class DefaultsModule {}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { Inject, Injectable, Optional } from '@nestjs/common';
2+
import { CoreService } from './core.service';
3+
4+
@Injectable()
5+
export class DefaultsService {
6+
constructor(
7+
@Inject(CoreService)
8+
@Optional()
9+
public readonly coreService = { default: true },
10+
) {}
11+
}

packages/core/injector/injector.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ export class Injector {
178178
if (!isOptional) {
179179
throw err;
180180
}
181-
return null;
181+
return undefined;
182182
}
183183
}),
184184
);

0 commit comments

Comments
 (0)