@@ -13,10 +13,11 @@ import { NzMessageService } from './message.service';
13
13
describe ( 'message' , ( ) => {
14
14
let testBed : ComponentBed < NzTestMessageComponent > ;
15
15
let messageService : NzMessageService ;
16
+ let overlayContainer : OverlayContainer ;
16
17
let overlayContainerElement : HTMLElement ;
17
18
let fixture : ComponentFixture < NzTestMessageComponent > ;
18
19
let testComponent : NzTestMessageComponent ;
19
- let nzConfigService : NzConfigService ;
20
+ let configService : NzConfigService ;
20
21
21
22
beforeEach ( fakeAsync ( ( ) => {
22
23
testBed = createComponentBed ( NzTestMessageComponent , {
@@ -38,17 +39,14 @@ describe('message', () => {
38
39
testComponent = testBed . component ;
39
40
} ) ) ;
40
41
41
- beforeEach ( inject ( [ NzMessageService , OverlayContainer ] , ( m : NzMessageService , oc : OverlayContainer ) => {
42
- messageService = m ;
43
- // need init before testing
44
- const message = messageService . success ( 'init' ) ;
45
- messageService . remove ( message . messageId ) ;
46
- // @ts -ignore
47
- nzConfigService = messageService . container . nzConfigService ;
48
- if ( ! overlayContainerElement ) {
49
- overlayContainerElement = oc . getContainerElement ( ) ;
42
+ beforeEach ( inject (
43
+ [ NzMessageService , OverlayContainer , NzConfigService ] ,
44
+ ( m : NzMessageService , oc : OverlayContainer , c : NzConfigService ) => {
45
+ messageService = m ;
46
+ overlayContainer = oc ;
47
+ configService = c ;
50
48
}
51
- } ) ) ;
49
+ ) ) ;
52
50
53
51
afterEach ( ( ) => {
54
52
messageService . remove ( ) ;
@@ -57,6 +55,7 @@ describe('message', () => {
57
55
it ( 'should open a message box with success' , ( ) => {
58
56
messageService . success ( 'SUCCESS' ) ;
59
57
fixture . detectChanges ( ) ;
58
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
60
59
61
60
expect ( ( overlayContainerElement . querySelector ( '.cdk-overlay-pane' ) as HTMLElement ) . style . zIndex ) . toBe ( '1010' ) ;
62
61
expect ( overlayContainerElement . textContent ) . toContain ( 'SUCCESS' ) ;
@@ -66,13 +65,15 @@ describe('message', () => {
66
65
it ( 'should open a message box with error' , ( ) => {
67
66
messageService . error ( 'ERROR' ) ;
68
67
fixture . detectChanges ( ) ;
68
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
69
69
expect ( overlayContainerElement . textContent ) . toContain ( 'ERROR' ) ;
70
70
expect ( overlayContainerElement . querySelector ( '.anticon-close-circle' ) ) . not . toBeNull ( ) ;
71
71
} ) ;
72
72
73
73
it ( 'should open a message box with warning' , ( ) => {
74
74
messageService . warning ( 'WARNING' ) ;
75
75
fixture . detectChanges ( ) ;
76
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
76
77
77
78
expect ( overlayContainerElement . textContent ) . toContain ( 'WARNING' ) ;
78
79
expect ( overlayContainerElement . querySelector ( '.anticon-exclamation-circle' ) ) . not . toBeNull ( ) ;
@@ -81,6 +82,7 @@ describe('message', () => {
81
82
it ( 'should open a message box with info' , ( ) => {
82
83
messageService . info ( 'INFO' ) ;
83
84
fixture . detectChanges ( ) ;
85
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
84
86
85
87
expect ( overlayContainerElement . textContent ) . toContain ( 'INFO' ) ;
86
88
expect ( overlayContainerElement . querySelector ( '.anticon-info-circle' ) ) . not . toBeNull ( ) ;
@@ -89,6 +91,7 @@ describe('message', () => {
89
91
it ( 'should open a message box with loading' , ( ) => {
90
92
messageService . loading ( 'LOADING' ) ;
91
93
fixture . detectChanges ( ) ;
94
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
92
95
93
96
expect ( overlayContainerElement . textContent ) . toContain ( 'LOADING' ) ;
94
97
expect ( overlayContainerElement . querySelector ( '.anticon-loading' ) ) . not . toBeNull ( ) ;
@@ -97,6 +100,7 @@ describe('message', () => {
97
100
it ( 'should support template' , fakeAsync ( ( ) => {
98
101
messageService . info ( testComponent . template ) ;
99
102
fixture . detectChanges ( ) ;
103
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
100
104
101
105
expect ( overlayContainerElement . textContent ) . toContain ( 'Content in template' ) ;
102
106
tick ( 10000 ) ;
@@ -105,6 +109,7 @@ describe('message', () => {
105
109
it ( 'should auto closed by 1s' , fakeAsync ( ( ) => {
106
110
messageService . create ( '' , 'EXISTS' , { nzDuration : 1000 } ) ;
107
111
fixture . detectChanges ( ) ;
112
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
108
113
109
114
expect ( overlayContainerElement . textContent ) . toContain ( 'EXISTS' ) ;
110
115
@@ -115,6 +120,7 @@ describe('message', () => {
115
120
it ( 'should not destroy when hovered' , fakeAsync ( ( ) => {
116
121
messageService . create ( '' , 'EXISTS' , { nzDuration : 3000 } ) ;
117
122
fixture . detectChanges ( ) ;
123
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
118
124
119
125
const messageElement = overlayContainerElement . querySelector ( '.ant-message-notice' ) ! ;
120
126
dispatchMouseEvent ( messageElement , 'mouseenter' ) ;
@@ -129,6 +135,7 @@ describe('message', () => {
129
135
it ( 'should not destroyed automatically but manually' , fakeAsync ( ( ) => {
130
136
const filledMessage = messageService . success ( 'SUCCESS' , { nzDuration : 0 } ) ;
131
137
fixture . detectChanges ( ) ;
138
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
132
139
133
140
tick ( 50000 ) ;
134
141
expect ( overlayContainerElement . textContent ) . toContain ( 'SUCCESS' ) ;
@@ -145,6 +152,7 @@ describe('message', () => {
145
152
fixture . detectChanges ( ) ;
146
153
tick ( ) ;
147
154
fixture . detectChanges ( ) ;
155
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
148
156
149
157
expect ( overlayContainerElement . textContent ) . toContain ( content ) ;
150
158
if ( id === 3 ) {
@@ -156,7 +164,7 @@ describe('message', () => {
156
164
messageService . remove ( ) ;
157
165
fixture . detectChanges ( ) ;
158
166
expect ( overlayContainerElement . textContent ) . not . toContain ( 'SUCCESS-3' ) ;
159
- expect ( ( messageService as any ) . container . instances . length ) . toBe ( 0 ) ; // eslint-disable-line @typescript-eslint/no-explicit-any
167
+ expect ( ( messageService as any ) . container ) . toBeUndefined ( ) ; // eslint-disable-line @typescript-eslint/no-explicit-any
160
168
} ) ) ;
161
169
162
170
it ( 'should destroy without animation' , fakeAsync ( ( ) => {
@@ -167,10 +175,11 @@ describe('message', () => {
167
175
} ) ) ;
168
176
169
177
it ( 'should reset default config from config service' , fakeAsync ( ( ) => {
170
- nzConfigService . set ( 'message' , { nzDuration : 0 } ) ;
178
+ configService . set ( 'message' , { nzDuration : 0 } ) ;
171
179
messageService . create ( 'loading' , 'EXISTS' ) ;
172
180
fixture . detectChanges ( ) ;
173
181
tick ( 10000 ) ;
182
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
174
183
expect ( overlayContainerElement . textContent ) . toContain ( 'EXISTS' ) ;
175
184
} ) ) ;
176
185
@@ -190,6 +199,7 @@ describe('message', () => {
190
199
messageService . create ( 'top' , 'CHANGE' ) ;
191
200
fixture . detectChanges ( ) ;
192
201
202
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
193
203
const messageContainerElement = overlayContainerElement . querySelector ( '.ant-message' ) as HTMLElement ;
194
204
expect ( messageContainerElement . style . top ) . toBe ( '24px' ) ;
195
205
@@ -198,9 +208,10 @@ describe('message', () => {
198
208
199
209
describe ( 'RTL' , ( ) => {
200
210
it ( 'should apply classname' , ( ) => {
201
- nzConfigService . set ( 'message' , { nzDirection : 'rtl' } ) ;
211
+ configService . set ( 'message' , { nzDirection : 'rtl' } ) ;
202
212
messageService . info ( 'INFO' ) ;
203
213
fixture . detectChanges ( ) ;
214
+ overlayContainerElement = overlayContainer . getContainerElement ( ) ;
204
215
expect ( overlayContainerElement . textContent ) . toContain ( 'INFO' ) ;
205
216
expect ( overlayContainerElement . querySelector ( '.ant-message-rtl' ) ) . not . toBeNull ( ) ;
206
217
} ) ;
0 commit comments