mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
* [ADF-1938] Overflowing text in reports section fidex * [ADF-1938] Long names in report section now fit * [ADF-1938] Reverted changes in container widget * [ADF-2753] New error component created * [ADF-2753] Unit test for Error Content Component * Deleting unused files * Deleting unused files * Deleting unused files * [ADF-2753] Documentation added * [ADF-2753] Fixed minor bugs * [ADF-2753] Authentication not needed to view error * add error handler * tslint fix * router app component * remove unused import * fix import modules * limit to 404 * destroy fixture after any test * misspelling error
92 lines
3.2 KiB
TypeScript
92 lines
3.2 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 { TestBed, async } from '@angular/core/testing';
|
|
import { ButtonsMenuComponent } from './buttons-menu.component';
|
|
import { MenuButton } from './menu-button.model';
|
|
import { MaterialModule } from '../material.module';
|
|
import { CoreTestingModule } from '../testing/core.testing.module';
|
|
import { setupTestBed } from '../testing/setupTestBed';
|
|
|
|
describe('ButtonsMenuComponent', () => {
|
|
|
|
let fixture;
|
|
let buttonsMenuComponent: ButtonsMenuComponent;
|
|
let element: HTMLElement;
|
|
|
|
setupTestBed({
|
|
imports: [
|
|
CoreTestingModule,
|
|
MaterialModule
|
|
]
|
|
});
|
|
|
|
beforeEach(() => {
|
|
fixture = TestBed.createComponent(ButtonsMenuComponent);
|
|
element = fixture.nativeElement;
|
|
buttonsMenuComponent = <ButtonsMenuComponent> fixture.debugElement.componentInstance;
|
|
});
|
|
|
|
afterEach(() => {
|
|
fixture.destroy();
|
|
TestBed.resetTestingModule();
|
|
});
|
|
|
|
it('should hide buttons menu div if buttons input is empty', async(() => {
|
|
buttonsMenuComponent.buttons = [];
|
|
fixture.detectChanges();
|
|
fixture.whenStable().then(() => {
|
|
const buttonsMenuElement = element.querySelector('#adf-buttons-menu');
|
|
expect(buttonsMenuElement).toBeNull();
|
|
});
|
|
}));
|
|
|
|
it('should render buttons menu when there is at least one button declared in the buttons array', async(() => {
|
|
const button = new MenuButton({
|
|
label: 'button',
|
|
icon: 'button',
|
|
id: 'clickMe'
|
|
});
|
|
buttonsMenuComponent.buttons = [button];
|
|
fixture.detectChanges();
|
|
fixture.whenStable().then(() => {
|
|
const buttonsMenuElement = element.querySelector('#adf-buttons-menu');
|
|
expect(buttonsMenuElement).not.toBeNull();
|
|
expect(buttonsMenuElement).toBeDefined();
|
|
});
|
|
}));
|
|
|
|
it('should call the handler function when button is clicked', async(() => {
|
|
const button = new MenuButton({
|
|
label: 'button',
|
|
icon: 'button',
|
|
id: 'clickMe'
|
|
});
|
|
button.handler = jasmine.createSpy('handler');
|
|
buttonsMenuComponent.buttons = [button];
|
|
fixture.detectChanges();
|
|
fixture.whenStable().then(() => {
|
|
const buttonsMenuElement: HTMLButtonElement = <HTMLButtonElement> element.querySelector('#clickMe');
|
|
expect(buttonsMenuElement).not.toBeNull();
|
|
expect(buttonsMenuElement).toBeDefined();
|
|
buttonsMenuElement.click();
|
|
fixture.detectChanges();
|
|
expect(button.handler).toHaveBeenCalled();
|
|
});
|
|
}));
|
|
});
|