mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
* [ADF-1939] Responsive button to edit reports * [ADF-1939] Removed unused dependencies in material module * [ADF-1939] Edit buttons now use flex layout * [ADF-2650] Report action menu component created * [ADF-2650] Added Button Model * [ADF-2650] Buttons component finished * [ADF-2650] Buttons menu component moved to core library * [ADF-2650] Included index.ts in core/buttons-menu * [ADF-2650] cleaned the module and public api file * Revert "[ADF-2650] Included index.ts in core/buttons-menu" This reverts commit 6bdf1f2f48a30bb4622eb4c000e5318370503710. * [ADF-2650] Applied the peer review changes * [ADF-2650] Comment removed * [ADF-2650] Failing tests fixed * [ADF-2650] Dynamic theming for analytic reports * [ADF-2650] Themes not ap
95 lines
3.3 KiB
TypeScript
95 lines
3.3 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';
|
|
|
|
/*tslint:disable:ban*/
|
|
|
|
fdescribe('ButtonsMenuComponent', () => {
|
|
|
|
let fixture;
|
|
let buttonsMenuComponent: ButtonsMenuComponent;
|
|
let element: HTMLElement;
|
|
|
|
beforeEach(async(() => {
|
|
TestBed.configureTestingModule({
|
|
imports: [
|
|
MaterialModule,
|
|
CoreTestingModule
|
|
]
|
|
}).compileComponents();
|
|
}));
|
|
|
|
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();
|
|
});
|
|
}));
|
|
});
|