// import { async, ComponentFixture, TestBed } from '@angular/core/testing'; // import { Component, ViewChild } from '@angular/core'; // // import { DatasetsByProjetComponent } from './output-by-category.component'; // import { Attribute } from '../../../metamodel/model'; // import { ATTRIBUTE_LIST } from '../../../../settings/test-data'; // // describe('[Search][Output] Component: OutputByCategoryComponent', () => { // @Component({ // selector: `app-host`, // template: ` // <app-output-by-category // [categoryLabel]="categoryLabel" // [attributeList]="attributeList" // [outputList]="outputList" // [isAllSelected]="isAllSelected" // [isAllUnselected]="isAllUnselected"> // </app-output-by-category>` // }) // class TestHostComponent { // @ViewChild(DatasetsByProjetComponent, { static: false }) // public testedComponent: DatasetsByProjetComponent; // public categoryLabel = 'Default output category'; // public attributeList: Attribute[] = ATTRIBUTE_LIST; // public outputList: number[] = [1]; // public isAllSelected = true; // public isAllUnselected: false; // } // // let testHostComponent: TestHostComponent; // let testHostFixture: ComponentFixture<TestHostComponent>; // let testedComponent: DatasetsByProjetComponent; // // beforeEach(async(() => { // TestBed.configureTestingModule({ // declarations: [ // DatasetsByProjetComponent, // TestHostComponent // ] // }); // testHostFixture = TestBed.createComponent(TestHostComponent); // testHostComponent = testHostFixture.componentInstance; // testHostFixture.detectChanges(); // testedComponent = testHostComponent.testedComponent; // })); // // it('should create the component', () => { // expect(testedComponent).toBeTruthy(); // }); // // it('#getAttributeListSortedByDisplay() should sort attributeList by output_display', () => { // const sortedAttributeList: Attribute[] = testedComponent.getAttributeListSortedByDisplay(); // expect(sortedAttributeList[0].id).toBe(2); // expect(sortedAttributeList[1].id).toBe(1); // }); // // it('#isSelected(idOutput) should return true if output is selected', () => { // expect(testedComponent.isSelected(1)).toBeTruthy(); // }); // // it('#isSelected(idOutput) should return false if output is not selected', () => { // expect(testedComponent.isSelected(2)).toBeFalsy(); // }); // // it('#toggleSelection(idOutput) should remove idOutput from outputList and raise change event', () => { // const idOutput = 1; // const expectedOutputList = []; // testedComponent.change.subscribe((event: number[]) => expect(event).toEqual(expectedOutputList)); // testedComponent.toggleSelection(idOutput); // }); // // it('#toggleSelection(idOutput) should add idOutput to outputList and raise change event', () => { // const idOutput = 2; // const expectedOutputList = [1, 2]; // testedComponent.change.subscribe((event: number[]) => expect(event).toEqual(expectedOutputList)); // testedComponent.toggleSelection(idOutput); // }); // // it('#selectAll() should add all outputs to outputList and raise change event', () => { // const expectedOutputList = [1, 2]; // testedComponent.change.subscribe((event: number[]) => expect(event).toEqual(expectedOutputList)); // testedComponent.selectAll(); // }); // // it('#unselectAll() should remove all outputs to outputList and raise change event', () => { // const expectedOutputList = []; // testedComponent.change.subscribe((event: number[]) => expect(event).toEqual(expectedOutputList)); // testedComponent.unselectAll(); // }); // }); //