ohayolibs
Version:
Ohayo is a set of essential modules for ohayojp.
72 lines (65 loc) • 2.63 kB
text/typescript
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);
});
});
});
class TestComponent {
size: 'large' | 'small' | 'mini' | 'default' = 'default';
maxLength = 0;
}