@@ -7,7 +7,13 @@ import { NotificationService } from './common-components/notification.service';
7
7
import { BackupService } from './backup/backup.service' ;
8
8
import { RelativeTimePipe } from './utils/relative-time.pipe' ;
9
9
import { provideHttpClient } from '@angular/common/http' ;
10
- import { RouterLink , RouterLinkActive , RouterOutlet } from '@angular/router' ;
10
+ import {
11
+ IsActiveMatchOptions ,
12
+ RouterLink ,
13
+ RouterLinkActive ,
14
+ RouterOutlet ,
15
+ } from '@angular/router' ;
16
+ import { AuthService } from './auth/auth.service' ;
11
17
12
18
@Directive ( {
13
19
standalone : true ,
@@ -18,6 +24,18 @@ class MockRouterLink {
18
24
routerLink ?: string ;
19
25
}
20
26
27
+ @Directive ( {
28
+ standalone : true ,
29
+ selector : '[routerLinkActive]' ,
30
+ } )
31
+ class MockRouterLinkActive {
32
+ @Input ( )
33
+ routerLinkActive ?: boolean ;
34
+
35
+ @Input ( )
36
+ routerLinkActiveOptions ?: IsActiveMatchOptions ;
37
+ }
38
+
21
39
@Component ( {
22
40
standalone : true ,
23
41
selector : 'router-outlet' ,
@@ -29,9 +47,17 @@ async function setup() {
29
47
const mockBackupService : jasmine . SpyObj < BackupService > = jasmine . createSpyObj (
30
48
[ 'getLastBackupTime' ]
31
49
) ;
50
+ const mockAuthService : jasmine . SpyObj < AuthService > = jasmine . createSpyObj ( [
51
+ 'isSignedIn' ,
52
+ 'getUserName' ,
53
+ 'signin' ,
54
+ 'signout' ,
55
+ ] ) ;
32
56
mockBackupService . getLastBackupTime . and . returnValue (
33
57
of ( new Date ( Date . now ( ) - 5 * 60 * 1000 ) )
34
58
) ;
59
+ mockAuthService . getUserName . and . returnValue ( of ( 'Igor' ) ) ;
60
+ mockAuthService . isSignedIn . and . returnValue ( of ( true ) ) ;
35
61
36
62
await TestBed . configureTestingModule ( {
37
63
imports : [ RelativeTimePipe ] ,
@@ -40,6 +66,7 @@ async function setup() {
40
66
provideHttpClient ( ) ,
41
67
NotificationService ,
42
68
{ provide : BackupService , useValue : mockBackupService } ,
69
+ { provide : AuthService , useValue : mockAuthService } ,
43
70
] ,
44
71
} ) . compileComponents ( ) ;
45
72
@@ -48,7 +75,7 @@ async function setup() {
48
75
imports : [ RouterOutlet , RouterLink , RouterLinkActive ] ,
49
76
} ,
50
77
add : {
51
- imports : [ MockRouterOutlet , MockRouterLink ] ,
78
+ imports : [ MockRouterOutlet , MockRouterLink , MockRouterLinkActive ] ,
52
79
} ,
53
80
} ) ;
54
81
0 commit comments