selct box can use numbers as value in the card view (#6020)

This commit is contained in:
Eugenio Romano
2020-08-17 21:31:01 +01:00
committed by GitHub
parent a4632cf9a5
commit beeb3ad080
3 changed files with 39 additions and 7 deletions

View File

@@ -32,6 +32,7 @@ describe('CardViewSelectItemComponent', () => {
let overlayContainer: OverlayContainer;
let appConfig: AppConfigService;
const mockData = [{ key: 'one', label: 'One' }, { key: 'two', label: 'Two' }, { key: 'three', label: 'Three' }];
const mockDataNumber = [{ key: 1, label: 'One' }, { key: 2, label: 'Two' }, { key: 3, label: 'Three' }];
const mockDefaultProps = {
label: 'Select box label',
value: 'two',
@@ -39,6 +40,13 @@ describe('CardViewSelectItemComponent', () => {
key: 'key',
editable: true
};
const mockDefaultNumbersProps = {
label: 'Select box label',
value: 2,
options$: of(mockDataNumber),
key: 'key',
editable: true
};
setupTestBed({
imports: [
@@ -108,6 +116,30 @@ describe('CardViewSelectItemComponent', () => {
expect(component.value).toEqual('one');
});
it('should be possible edit selectBox item with numbers', () => {
component.property = new CardViewSelectItemModel({
...mockDefaultNumbersProps,
editable: true
});
component.editable = true;
component.displayNoneOption = true;
component.ngOnChanges();
fixture.detectChanges();
expect(component.value).toEqual(2);
expect(component.isEditable()).toBe(true);
const selectBox = fixture.debugElement.query(By.css('.mat-select-trigger'));
selectBox.triggerEventHandler('click', {});
fixture.detectChanges();
const optionsElement = Array.from(overlayContainer.getContainerElement().querySelectorAll('mat-option'));
expect(optionsElement.length).toEqual(4);
optionsElement[1].dispatchEvent(new Event('click'));
fixture.detectChanges();
expect(component.value).toEqual(1);
});
it('should be able to enable None option', () => {
component.property = new CardViewSelectItemModel({
...mockDefaultProps,