Skip to content

Commit a0046ce

Browse files
committed
refactor(services): simplify testing
1 parent 3a71869 commit a0046ce

File tree

1 file changed

+47
-44
lines changed

1 file changed

+47
-44
lines changed

Diff for: src/app/services/greeting.service.spec.ts

+47-44
Original file line numberDiff line numberDiff line change
@@ -4,68 +4,71 @@ import { TestBed, inject } from '@angular/core/testing';
44
import { GreetingService } from './greeting.service';
55

66
describe('GreetingService', () => {
7-
describe('Injecting via testcase level inject', () => {
8-
beforeEach(() => {
9-
TestBed.configureTestingModule({
10-
providers: [GreetingService]
11-
});
12-
});
13-
14-
it(
15-
'should have a service instance',
16-
inject([GreetingService], (service: GreetingService) => {
17-
expect(service).toBeDefined();
18-
})
19-
);
20-
});
21-
22-
describe('Injecting via test suite level inject', () => {
7+
describe('Manually instantiating service', () => {
238
let service: GreetingService;
249

25-
beforeEach(() =>
26-
TestBed.configureTestingModule({
27-
providers: [GreetingService]
28-
}));
10+
beforeEach(() => {
11+
service = new GreetingService();
12+
});
2913

30-
beforeEach(
31-
inject([GreetingService], (s: GreetingService) => {
32-
service = s;
33-
})
34-
);
14+
afterEach(() => {
15+
service = null;
16+
});
3517

36-
it('should have a service instance', () => {
37-
expect(service).toBeDefined();
18+
it('should greet properly', () => {
19+
expect(service.sayHi('Juri')).toBe('Hi, Juri');
3820
});
3921
});
4022

41-
describe('Injecting via TestBed.get()', () => {
42-
let service: GreetingService;
43-
23+
describe('Configuring via TestBed', () => {
4424
beforeEach(() => {
4525
TestBed.configureTestingModule({
4626
providers: [GreetingService]
4727
});
28+
});
4829

49-
service = TestBed.get(GreetingService);
30+
describe('Injecting via testcase level inject', () => {
31+
it(
32+
'should have a service instance',
33+
inject([GreetingService], (service: GreetingService) => {
34+
expect(service).toBeDefined();
35+
})
36+
);
5037
});
5138

52-
it('should have a service instance', () => {
53-
expect(service).toBeDefined();
39+
describe('Injecting via test suite level inject', () => {
40+
let service: GreetingService;
41+
42+
beforeEach(
43+
inject([GreetingService], (s: GreetingService) => {
44+
service = s;
45+
})
46+
);
47+
48+
it('should have a service instance', () => {
49+
expect(service).toBeDefined();
50+
});
5451
});
55-
});
5652

57-
describe('Testing service functions', () => {
58-
beforeEach(() => {
59-
TestBed.configureTestingModule({
60-
providers: [GreetingService]
53+
describe('Injecting via TestBed.get()', () => {
54+
let service: GreetingService;
55+
56+
beforeEach(() => {
57+
service = TestBed.get(GreetingService);
58+
});
59+
60+
it('should have a service instance', () => {
61+
expect(service).toBeDefined();
6162
});
6263
});
6364

64-
it(
65-
'should greet properly',
66-
inject([GreetingService], (service: GreetingService) => {
67-
expect(service.sayHi('Juri')).toBe('Hi, Juri');
68-
})
69-
);
65+
describe('Testing service functions', () => {
66+
it(
67+
'should greet properly',
68+
inject([GreetingService], (service: GreetingService) => {
69+
expect(service.sayHi('Juri')).toBe('Hi, Juri');
70+
})
71+
);
72+
});
7073
});
7174
});

0 commit comments

Comments
 (0)