@@ -148,6 +148,7 @@ describe('nz-badge', () => {
148148
149149 it ( 'should status work' , ( ) => {
150150 testComponent . inner = false ;
151+ testComponent . count = 0 ;
151152 const statusList = [ 'success' , 'processing' , 'default' , 'error' , 'warning' ] ;
152153 statusList . forEach ( status => {
153154 testComponent . status = status ;
@@ -191,6 +192,65 @@ describe('nz-badge', () => {
191192 tick ( ) ;
192193 expect ( component . presetColor ) . toEqual ( null ) ;
193194 } ) ) ;
195+
196+ it ( 'should display correct of nzColor related change' , fakeAsync ( ( ) => {
197+ let color : string | undefined ;
198+ testComponent . inner = false ;
199+ testComponent . count = 0 ;
200+ testComponent . status = 'success' ;
201+ fixture . detectChanges ( ) ;
202+ expect ( badgeElement . nativeElement . classList ) . toContain ( 'ant-badge-not-a-wrapper' ) ;
203+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-dot' ) . classList ) . toContain (
204+ `ant-badge-status-success`
205+ ) ;
206+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-text' ) . innerText ) . toBe ( '' ) ;
207+ expect ( badgeElement . nativeElement . querySelector ( 'nz-badge-sup' ) ) . toBeNull ( ) ;
208+
209+ testComponent . status = '' ;
210+ testComponent . text = 'test' ;
211+ fixture . detectChanges ( ) ;
212+ expect ( badgeElement . nativeElement . classList ) . toContain ( 'ant-badge-not-a-wrapper' ) ;
213+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-dot' ) ) . toBeNull ( ) ;
214+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-text' ) ) . toBeNull ( ) ;
215+ expect ( badgeElement . nativeElement . querySelector ( 'nz-badge-sup' ) ) . toBeNull ( ) ;
216+
217+ color = 'blue' ;
218+ testComponent . color = color ;
219+ fixture . detectChanges ( ) ;
220+ expect ( badgeElement . nativeElement . classList ) . toContain ( 'ant-badge-not-a-wrapper' ) ;
221+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-dot' ) . classList ) . toContain (
222+ `ant-badge-status-${ color } `
223+ ) ;
224+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-text' ) . innerText ) . toBe ( 'test' ) ;
225+ expect ( badgeElement . nativeElement . querySelector ( 'nz-badge-sup' ) ) . toBeNull ( ) ;
226+
227+ testComponent . inner = true ;
228+ color = '#f5222d' ;
229+ testComponent . color = color ;
230+ fixture . detectChanges ( ) ;
231+ expect ( badgeElement . nativeElement . classList ) . toContain ( 'ant-badge-not-a-wrapper' ) ;
232+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-dot' ) . classList ) . not . toContain (
233+ `ant-badge-status-`
234+ ) ;
235+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-dot' ) . style . backgroundColor ) . toBe (
236+ 'rgb(245, 34, 45)'
237+ ) ;
238+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-text' ) . innerText ) . toBe ( 'test' ) ;
239+ expect ( badgeElement . nativeElement . querySelector ( 'nz-badge-sup' ) ) . toBeNull ( ) ;
240+
241+ testComponent . text = '' ;
242+ testComponent . showZero = true ;
243+ fixture . detectChanges ( ) ;
244+ expect ( badgeElement . nativeElement . classList ) . not . toContain ( 'ant-badge-not-a-wrapper' ) ;
245+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-dot' ) ) . toBeNull ( ) ;
246+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-text' ) ) . toBeNull ( ) ;
247+
248+ testComponent . count = 5 ;
249+ fixture . detectChanges ( ) ;
250+ expect ( badgeElement . nativeElement . classList ) . not . toContain ( 'ant-badge-not-a-wrapper' ) ;
251+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-dot' ) ) . toBeNull ( ) ;
252+ expect ( badgeElement . nativeElement . querySelector ( '.ant-badge-status-text' ) ) . toBeNull ( ) ;
253+ } ) ) ;
194254 } ) ;
195255
196256 describe ( 'ribbon' , ( ) => {
@@ -275,6 +335,7 @@ describe('nz-badge', () => {
275335 [nzTitle]="title"
276336 [nzStandalone]="!inner"
277337 [nzSize]="size"
338+ [nzColor]="color"
278339 >
279340 @if (inner) {
280341 <a></a>
@@ -295,6 +356,7 @@ export class NzTestBadgeBasicComponent {
295356 offset ?: [ number , number ] ;
296357 size : NzSizeDSType = 'default' ;
297358 noAnimation = true ;
359+ color ?: string ;
298360}
299361
300362@Component ( {
0 commit comments