ohayolibs
Version:
Ohayo is a set of essential modules for ohayojp.
55 lines (48 loc) • 1.66 kB
text/typescript
import { Component } from '@angular/core';
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { OhayoThemeModule } from '../../theme.module';
describe('Pipe: keys', () => {
let fixture: ComponentFixture<TestComponent>;
function genModule(template?: string): void {
TestBed.configureTestingModule({
imports: [OhayoThemeModule.forRoot()],
declarations: [TestComponent],
});
if (template) TestBed.overrideTemplate(TestComponent, template);
fixture = TestBed.createComponent(TestComponent);
fixture.detectChanges();
}
it('should return a array', () => {
genModule();
const ul = (fixture.debugElement.query(By.css('#result')).nativeElement as HTMLUListElement).querySelectorAll('li');
expect(ul.length).toBe(2);
expect(ul[0].textContent).toBe('name');
expect(ul[1].textContent).toBe('address');
});
it('should be render a dist when key is number type', () => {
genModule(`
<ul id="result">
<li *ngFor="let item of dist | keys: true">{{ item.key | json }}</li>
</ul>
`);
const ul = (fixture.debugElement.query(By.css('#result')).nativeElement as HTMLUListElement).querySelectorAll('li');
expect(ul.length).toBe(2);
expect(ul[0].textContent).toBe('1');
expect(ul[1].textContent).toBe('2');
});
});
({
template: `
<ul id="result">
<li *ngFor="let item of data | keys">{{ item.key }}</li>
</ul>
`,
})
class TestComponent {
data: any = {
name: 'cipchk',
address: { city: 'shanghai', district: 'changning' },
};
dist = { 1: '正常', 2: '删除' };
}