Skip to content

Commit 36fec41

Browse files
committed
feat(lib): add failing test for method mocking
1 parent ee3b84f commit 36fec41

File tree

4 files changed

+23
-3
lines changed

4 files changed

+23
-3
lines changed

src/app/consumer.service.jest.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ import { ProviderService } from './provider.service';
44
import { Subject } from 'rxjs';
55

66
describe('ConsumerService', () => {
7+
const randomNumber = Math.random();
78
const spectator = createService({
89
service: ConsumerService,
910
providers: [
1011
mockProvider(ProviderService, {
11-
obs$: new Subject()
12+
obs$: new Subject(),
13+
method: () => randomNumber
1214
})
1315
]
1416
});
@@ -19,4 +21,8 @@ describe('ConsumerService', () => {
1921
provider.obs$.next('hey you');
2022
expect(spectator.service.lastValue).toBe('hey you');
2123
});
24+
25+
it('should consume mocked service methods', () => {
26+
expect(spectator.service.consumeProvider()).toBe(randomNumber);
27+
});
2228
});

src/app/consumer.service.spec.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ import { ProviderService } from './provider.service';
44
import { Subject } from 'rxjs';
55

66
describe('ConsumerService', () => {
7+
const randomNumber = Math.random();
78
const spectator = createService({
89
service: ConsumerService,
910
providers: [
1011
mockProvider(ProviderService, {
11-
obs$: new Subject()
12+
obs$: new Subject(),
13+
method: () => randomNumber
1214
})
1315
]
1416
});
@@ -19,4 +21,8 @@ describe('ConsumerService', () => {
1921
provider.obs$.next('hey you');
2022
expect(spectator.service.lastValue).toBe('hey you');
2123
});
24+
25+
it('should consume mocked service methods', () => {
26+
expect(spectator.service.consumeProvider()).toBe(randomNumber);
27+
});
2228
});

src/app/consumer.service.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,15 @@ import { ProviderService } from './provider.service';
77
export class ConsumerService {
88
lastValue: any;
99

10-
constructor(provider: ProviderService) {
10+
constructor(private provider: ProviderService) {
1111
provider.obs$.subscribe(val => this.update(val));
1212
}
1313

1414
update(val: string) {
1515
this.lastValue = val;
1616
}
17+
18+
consumeProvider() {
19+
return this.provider.method();
20+
}
1721
}

src/app/provider.service.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,8 @@ import { Subject } from 'rxjs';
77
export class ProviderService {
88
obs$ = new Subject<string>();
99
constructor() {}
10+
11+
method() {
12+
return 5;
13+
}
1014
}

0 commit comments

Comments
 (0)