UNPKG

bixi

Version:

企业级中后台前端解决方案

70 lines (61 loc) 1.99 kB
import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { Component } from '@angular/core'; import { BixiTimeModule } from './time.module'; import * as moment from 'dayjs'; import { NzSafeAny } from 'ng-zorro-antd/core/types'; const dayjs = moment as NzSafeAny; const time = 1599016962923; const format = 'YYYY/MM/DD HH:mm'; const relative = (dayjs(time) as NzSafeAny).fromNow(); const absolute = dayjs(time).format(format); describe('#@bixi/core bix-time', () => { let fixture: ComponentFixture<TestComponent>; beforeEach(() => { TestBed.configureTestingModule({ imports: [BixiTimeModule], declarations: [TestComponent], }); fixture = TestBed.createComponent(TestComponent); fixture.detectChanges(); }); function getTimeStr() { const dom = fixture.debugElement.query(By.css('.bixi-time')); return dom.nativeElement.textContent.trim(); } it('#invalid time', () => { fixture.componentInstance.time = 'xjxhsjhgbh'; fixture.detectChanges(); expect(getTimeStr()).toBe('-'); }); it('#string time', () => { fixture.componentInstance.time = '2020-09-01T20:09:20'; fixture.componentInstance.relative = false; fixture.detectChanges(); expect(getTimeStr()).toBe('2020/09/01 20:09'); }) it('#absolute time', () => { expect(getTimeStr()).toBe(absolute); }); it('#relative time', () => { fixture.componentInstance.relative = true; fixture.detectChanges(); expect(getTimeStr()).toBe(relative); }); it('#format', () => { fixture.componentInstance.format = 'YYYY/MM HH:mm'; fixture.detectChanges(); expect(getTimeStr()).toBe(dayjs(time).format('YYYY/MM HH:mm')); }); // TODO: add tooltiip test }); @Component({ template: ` <bixi-time [time]="time" [relative]="relative" [format]="format"></bixi-time> `, }) class TestComponent { time: string | number = time; relative = false; format = format; }