mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
* Update angular cli version 1.6.5 * fix tslint problems and update devdependencies using the angularcli 1.6.4 * test fixing * [ADF-2159] start fixing userinfo test * [ADF-2159] fixed userinfo tests * [ADF-2159] added async to accordion component test * [ADF-2159] testing probable failed test on CI * [ADF-2159] check removing fake destroyed view test * [ADF-2159] check viewer tests * [ADF-2159] attempt on test fix * [ADF-2159] test fix * [ADF-2159] fix test * [ADF-2159] fix test * [ADF-2159] rebased * [ADF-2159] check test * [ADF-2159] fixing test * [ADF-2159] Fix#1 * [ADF-2159] Fix#2 * [ADF-2159] Fix#3 * [ADF-2159] Fix #4 * [ADF-2159] Fix #5 * [ADF-2159] Fix #6 * [ADF-2159] fixed viewer test * [ADF-2159] fixed cast element
118 lines
4.5 KiB
TypeScript
118 lines
4.5 KiB
TypeScript
/*!
|
|
* @license
|
|
* Copyright 2016 Alfresco Software, Ltd.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
|
import { AccordionGroupComponent } from './accordion-group.component';
|
|
import { AccordionComponent } from './accordion.component';
|
|
import { MaterialModule } from '../material.module';
|
|
|
|
describe('AccordionGroupComponent', () => {
|
|
|
|
let fixture: ComponentFixture<AccordionGroupComponent>;
|
|
let component: AccordionGroupComponent;
|
|
let element: any;
|
|
|
|
beforeEach(async(() => {
|
|
TestBed.configureTestingModule({
|
|
imports: [
|
|
MaterialModule
|
|
],
|
|
declarations: [
|
|
AccordionGroupComponent
|
|
],
|
|
providers: [AccordionComponent]
|
|
}).compileComponents();
|
|
}));
|
|
|
|
beforeEach(() => {
|
|
fixture = TestBed.createComponent(AccordionGroupComponent);
|
|
|
|
element = fixture.nativeElement;
|
|
component = fixture.componentInstance;
|
|
|
|
});
|
|
|
|
it('should be closed by default', async(() => {
|
|
component.heading = 'Fake Header';
|
|
component.headingIcon = 'fake-icon';
|
|
component.contentWrapper.nativeElement.innerHTML = '<a>Test</a>';
|
|
fixture.whenStable().then(() => {
|
|
fixture.detectChanges();
|
|
let headerText = element.querySelector('#heading-text');
|
|
expect(headerText.innerText).toEqual('Fake Header');
|
|
let headerIcon = element.querySelector('#heading-icon .material-icons');
|
|
expect(headerIcon.innerText).toEqual('fake-icon');
|
|
let headerToggle = element.querySelector('#accordion-button .material-icons');
|
|
expect(headerToggle.innerText).toEqual('expand_more');
|
|
});
|
|
}));
|
|
|
|
it('should be open when click', async(() => {
|
|
component.isSelected = true;
|
|
component.heading = 'Fake Header';
|
|
component.headingIcon = 'fake-icon';
|
|
component.contentWrapper.nativeElement.innerHTML = '<a>Test</a>';
|
|
fixture.detectChanges();
|
|
element.querySelector('#accordion-button').click();
|
|
fixture.whenStable().then(() => {
|
|
fixture.detectChanges();
|
|
let headerText = element.querySelector('#heading-text');
|
|
expect(headerText.innerText).toEqual('Fake Header');
|
|
let headerIcon = element.querySelector('#heading-icon .material-icons');
|
|
expect(headerIcon.innerText).toEqual('fake-icon');
|
|
let headerToggle = element.querySelector('#accordion-button .material-icons');
|
|
expect(headerToggle.innerText).toEqual('expand_less');
|
|
});
|
|
}));
|
|
|
|
it('should show expand icon by default', async(() => {
|
|
component.heading = 'Fake Header';
|
|
component.headingIcon = 'fake-icon';
|
|
component.contentWrapper.nativeElement.innerHTML = '<a>Test</a>';
|
|
fixture.whenStable().then(() => {
|
|
fixture.detectChanges();
|
|
let headerIcon = element.querySelector('#accordion-button');
|
|
expect(headerIcon).toBeDefined();
|
|
});
|
|
}));
|
|
|
|
it('should hide expand icon', async(() => {
|
|
component.heading = 'Fake Header';
|
|
component.headingIcon = 'fake-icon';
|
|
component.hasAccordionIcon = false;
|
|
component.contentWrapper.nativeElement.innerHTML = '<a>Test</a>';
|
|
fixture.whenStable().then(() => {
|
|
fixture.detectChanges();
|
|
let headerIcon = element.querySelector('#accordion-button');
|
|
expect(headerIcon).toBeNull();
|
|
});
|
|
}));
|
|
|
|
it('should emit an event when a heading clicked', async(() => {
|
|
component.heading = 'Fake Header';
|
|
fixture.detectChanges();
|
|
let heading: string = component.heading;
|
|
component.headingClick.subscribe((headName: string) => {
|
|
expect(headName).toBeDefined();
|
|
expect(headName).toEqual(heading);
|
|
});
|
|
let header = element.querySelector('.adf-panel-heading');
|
|
header.click();
|
|
}));
|
|
|
|
});
|