1
1
import { CalculatorService } from './calculator.service' ;
2
2
import { LoggerService } from './logger.service' ;
3
+ import { TestBed } from '@angular/core/testing' ;
3
4
4
5
5
6
describe ( 'CalculatorService' , ( ) => {
6
7
8
+ let calculator : CalculatorService ,
9
+ loggerSpy : any ;
7
10
8
- it ( 'should add two numbers' , ( ) => {
11
+ beforeEach ( ( ) => {
9
12
10
- const calculator = new CalculatorService ( new LoggerService ( ) ) ;
13
+ console . log ( "Calling beforeEach" ) ;
14
+
15
+ loggerSpy = jasmine . createSpyObj ( 'LoggerService' , [ "log" ] ) ;
16
+
17
+ TestBed . configureTestingModule ( {
18
+ providers : [
19
+ CalculatorService ,
20
+ { provide : LoggerService , useValue : loggerSpy }
21
+ ]
22
+ } ) ;
23
+
24
+ calculator = TestBed . get ( CalculatorService ) ;
25
+
26
+ } ) ;
27
+
28
+ fit ( 'should add two numbers' , ( ) => {
29
+
30
+ console . log ( "add test" ) ;
11
31
12
32
const result = calculator . add ( 2 , 2 ) ;
13
33
14
34
expect ( result ) . toBe ( 4 ) ;
15
35
36
+ expect ( loggerSpy . log ) . toHaveBeenCalledTimes ( 1 ) ;
37
+
16
38
} ) ;
17
39
18
40
19
41
it ( 'should subtract two numbers' , ( ) => {
20
42
21
- const calculator = new CalculatorService ( new LoggerService ( ) ) ;
43
+ console . log ( "subtract test" ) ;
22
44
23
45
const result = calculator . subtract ( 2 , 2 ) ;
24
46
25
47
expect ( result ) . toBe ( 0 , "unexpected subtraction result" ) ;
26
48
49
+ expect ( loggerSpy . log ) . toHaveBeenCalledTimes ( 1 ) ;
50
+
27
51
} ) ;
28
52
29
53
} ) ;
0 commit comments