import { ButtonComponent } from './button.component';
import { Spectator, createTestComponentFactory } from '@netbasal/spectator';
describe('ButtonComponent', () => {
let spectator: Spectator<ButtonComponent>;
const createComponent = createTestComponentFactory(ButtonComponent);
it('should have a success class by default', () => {
spectator = createComponent();
expect(spectator.query('button')).toHaveClass('success');
});
it('should set the class name according to the [className] input', () => {
spectator = createComponent();
spectator.setInput('className', 'danger');
expect(spectator.query('button')).toHaveClass('danger');
expect(spectator.query('button')).not.toHaveClass('success');
});
it('should set the title according to the [title] input', () => {
spectator = createComponent({ 'title': 'Click' });
expect(spectator.query('button')).toHaveText('Click');
});
it('should emit the $event on click', () => {
const detectChanges = false;
spectator = createComponent({}, detectChanges);
let output;
spectator.output<{ type: string }>('click').subscribe(result => output = result);
spectator.component.onClick({ type: 'click' });
spectator.detectChanges();
expect(output).toEqual({ type: 'click' });
});
});