Browse Source

test(core): add missing form-submit directive test

pull/2215/head
thediaval 7 years ago
parent
commit
75e7746a84
  1. 46
      npm/ng-packs/packages/core/src/lib/tests/form-submit.directive.spec.ts

46
npm/ng-packs/packages/core/src/lib/tests/form-submit.directive.spec.ts

@ -0,0 +1,46 @@
import { createDirectiveFactory, SpectatorDirective } from '@ngneat/spectator/jest';
import { FormSubmitDirective } from '../directives/form-submit.directive';
import { FormsModule, ReactiveFormsModule, FormGroup } from '@angular/forms';
import { timer } from 'rxjs';
describe('FormSubmitDirective', () => {
let spectator: SpectatorDirective<FormSubmitDirective>;
let directive: FormSubmitDirective;
let formGroup = new FormGroup({});
const submitEventFn = jest.fn(() => {});
const createDirective = createDirectiveFactory({
directive: FormSubmitDirective,
imports: [FormsModule, ReactiveFormsModule],
});
beforeEach(() => {
spectator = createDirective(
'<form [formGroup]="formGroup" (ngSubmit)="submitEventFn()" [debounce]="20">form content</form>',
{
hostProps: {
submitEventFn,
formGroup,
},
},
);
directive = spectator.directive;
});
test('should be created', () => {
expect(directive).toBeTruthy();
});
test('should have 20ms debounce time', () => {
expect(directive.debounce).toBe(20);
});
test('should dispatch submit event on keyup event triggered after given debounce time', done => {
spectator.dispatchKeyboardEvent('form', 'keyup', 'Enter');
timer(directive.debounce + 1).subscribe(() => {
expect(submitEventFn).toHaveBeenCalled();
done();
});
});
});
Loading…
Cancel
Save