UNPKG

ohayolibs

Version:

Ohayo is a set of essential modules for ohayojp.

72 lines (65 loc) 2.63 kB
import { Component, DebugElement } from '@angular/core'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { createTestContext } from '@ohayo/testing'; import { AvatarListModule } from './avatar-list.module'; describe('components: avatar-list', () => { let fixture: ComponentFixture<TestComponent>; let dl: DebugElement; let context: TestComponent; beforeEach(() => { TestBed.configureTestingModule({ imports: [AvatarListModule], declarations: [TestComponent], }); ({ fixture, dl, context } = createTestContext(TestComponent)); fixture.detectChanges(); }); describe('#size', () => { it('with large', () => { context.size = 'large'; fixture.detectChanges(); expect(dl.queryAll(By.css('.avatar-list__large')).length).toBe(5); expect(dl.queryAll(By.css('.ant-avatar-lg')).length).toBe(5); }); it('with small', () => { context.size = 'small'; fixture.detectChanges(); expect(dl.queryAll(By.css('.avatar-list__small')).length).toBe(5); expect(dl.queryAll(By.css('.ant-avatar-sm')).length).toBe(5); }); it('with mini, and avatar muse be small size', () => { context.size = 'mini'; fixture.detectChanges(); expect(dl.queryAll(By.css('.avatar-list__mini')).length).toBe(5); expect(dl.queryAll(By.css('.ant-avatar-sm')).length).toBe(5); }); }); describe('#maxLength', () => { it('should working', () => { context.maxLength = 1; fixture.detectChanges(); expect(dl.queryAll(By.css('.avatar-list__item')).length).toBe(context.maxLength + 1); }); it('should be show all when maxLength less than length', () => { context.maxLength = 10; fixture.detectChanges(); expect(dl.queryAll(By.css('.avatar-list__item')).length).toBe(5); }); }); }); @Component({ template: ` <avatar-list [size]="size" [maxLength]="maxLength"> <avatar-list-item tips="Jake" src="https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png"></avatar-list-item> <avatar-list-item tips="Andy" src="https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png"></avatar-list-item> <avatar-list-item tips="Niko" src="https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png"></avatar-list-item> <avatar-list-item tips="Cipchk" text="Cipchk"></avatar-list-item> <avatar-list-item tips="heart-o"></avatar-list-item> </avatar-list> `, }) class TestComponent { size: 'large' | 'small' | 'mini' | 'default' = 'default'; maxLength = 0; }