]>
Commit | Line | Data |
---|---|---|
ec96510d FG |
1 | import { HttpClientTestingModule } from '@angular/common/http/testing'; |
2 | import { TestBed } from '@angular/core/testing'; | |
3 | ||
4 | import { configureTestBed } from '../../../testing/unit-test-helper'; | |
5 | import { Motd } from '../api/motd.service'; | |
6 | import { MotdNotificationService } from './motd-notification.service'; | |
7 | ||
8 | describe('MotdNotificationService', () => { | |
9 | let service: MotdNotificationService; | |
10 | ||
11 | configureTestBed({ | |
12 | providers: [MotdNotificationService], | |
13 | imports: [HttpClientTestingModule] | |
14 | }); | |
15 | ||
16 | beforeEach(() => { | |
17 | service = TestBed.get(MotdNotificationService); | |
18 | }); | |
19 | ||
20 | it('should be created', () => { | |
21 | expect(service).toBeTruthy(); | |
22 | }); | |
23 | ||
24 | it('should hide [1]', () => { | |
25 | spyOn(service.motdSource, 'next'); | |
26 | spyOn(service.motdSource, 'getValue').and.returnValue({ | |
27 | severity: 'info', | |
28 | expires: '', | |
29 | message: 'foo', | |
30 | md5: 'acbd18db4cc2f85cedef654fccc4a4d8' | |
31 | }); | |
32 | service.hide(); | |
33 | expect(localStorage.getItem('dashboard_motd_hidden')).toBe( | |
34 | 'info:acbd18db4cc2f85cedef654fccc4a4d8' | |
35 | ); | |
36 | expect(sessionStorage.getItem('dashboard_motd_hidden')).toBeNull(); | |
37 | expect(service.motdSource.next).toBeCalledWith(null); | |
38 | }); | |
39 | ||
40 | it('should hide [2]', () => { | |
41 | spyOn(service.motdSource, 'getValue').and.returnValue({ | |
42 | severity: 'warning', | |
43 | expires: '', | |
44 | message: 'bar', | |
45 | md5: '37b51d194a7513e45b56f6524f2d51f2' | |
46 | }); | |
47 | service.hide(); | |
48 | expect(sessionStorage.getItem('dashboard_motd_hidden')).toBe( | |
49 | 'warning:37b51d194a7513e45b56f6524f2d51f2' | |
50 | ); | |
51 | expect(localStorage.getItem('dashboard_motd_hidden')).toBeNull(); | |
52 | }); | |
53 | ||
54 | it('should process response [1]', () => { | |
55 | const motd: Motd = { | |
56 | severity: 'danger', | |
57 | expires: '', | |
58 | message: 'foo', | |
59 | md5: 'acbd18db4cc2f85cedef654fccc4a4d8' | |
60 | }; | |
61 | spyOn(service.motdSource, 'next'); | |
62 | service.processResponse(motd); | |
63 | expect(service.motdSource.next).toBeCalledWith(motd); | |
64 | }); | |
65 | ||
66 | it('should process response [2]', () => { | |
67 | const motd: Motd = { | |
68 | severity: 'warning', | |
69 | expires: '', | |
70 | message: 'foo', | |
71 | md5: 'acbd18db4cc2f85cedef654fccc4a4d8' | |
72 | }; | |
73 | localStorage.setItem('dashboard_motd_hidden', 'info'); | |
74 | service.processResponse(motd); | |
75 | expect(sessionStorage.getItem('dashboard_motd_hidden')).toBeNull(); | |
76 | expect(localStorage.getItem('dashboard_motd_hidden')).toBeNull(); | |
77 | }); | |
78 | ||
79 | it('should process response [3]', () => { | |
80 | const motd: Motd = { | |
81 | severity: 'info', | |
82 | expires: '', | |
83 | message: 'foo', | |
84 | md5: 'acbd18db4cc2f85cedef654fccc4a4d8' | |
85 | }; | |
86 | spyOn(service.motdSource, 'next'); | |
87 | localStorage.setItem('dashboard_motd_hidden', 'info:acbd18db4cc2f85cedef654fccc4a4d8'); | |
88 | service.processResponse(motd); | |
89 | expect(service.motdSource.next).not.toBeCalled(); | |
90 | }); | |
91 | ||
92 | it('should process response [4]', () => { | |
93 | const motd: Motd = { | |
94 | severity: 'info', | |
95 | expires: '', | |
96 | message: 'foo', | |
97 | md5: 'acbd18db4cc2f85cedef654fccc4a4d8' | |
98 | }; | |
99 | spyOn(service.motdSource, 'next'); | |
100 | localStorage.setItem('dashboard_motd_hidden', 'info:37b51d194a7513e45b56f6524f2d51f2'); | |
101 | service.processResponse(motd); | |
102 | expect(service.motdSource.next).toBeCalled(); | |
103 | }); | |
104 | ||
105 | it('should process response [5]', () => { | |
106 | const motd: Motd = { | |
107 | severity: 'info', | |
108 | expires: '', | |
109 | message: 'foo', | |
110 | md5: 'acbd18db4cc2f85cedef654fccc4a4d8' | |
111 | }; | |
112 | spyOn(service.motdSource, 'next'); | |
113 | localStorage.setItem('dashboard_motd_hidden', 'danger:acbd18db4cc2f85cedef654fccc4a4d8'); | |
114 | service.processResponse(motd); | |
115 | expect(service.motdSource.next).toBeCalled(); | |
116 | }); | |
117 | }); |