UNPKG

@dbg-riskit/angular-testing

Version:

51 lines 7.8 kB
import { tick } from '@angular/core/testing'; import { MatButton } from '@angular/material/button'; import { By } from '@angular/platform-browser'; import { NoopAnimationMessageComponent, RISK_ERROR_SELECTOR, RISK_GOOD_SELECTOR } from '@dbg-riskit/angular-view'; import { ByUtil } from '../by.util'; import { click, setNgModelValue } from '../events'; import { MessageComponentDef } from './message.def'; import { Page } from './page.base'; export class LoginPage extends Page { constructor(fixture) { super(fixture); } get formElement() { return this.debugElement.query(By.css('form')); } get usernameElement() { return this.formElement.query(By.css('input[name=username]')); } set username(username) { setNgModelValue(this.usernameElement, username); } get passwordElement() { return this.formElement.query(By.css('input[name=password]')); } set password(password) { setNgModelValue(this.passwordElement, password); } get loginButtonElement() { return this.formElement.query(By.directive(MatButton)); } get successMessage() { const debugElement = this.debugElement.query(ByUtil.and(By.directive(NoopAnimationMessageComponent), By.css(RISK_GOOD_SELECTOR))); if (!debugElement) { return null; } return new MessageComponentDef(debugElement); } get errorMessage() { const debugElement = this.debugElement.query(ByUtil.or(ByUtil.and(By.directive(NoopAnimationMessageComponent), By.css(RISK_ERROR_SELECTOR)), By.css('h3'))); if (!debugElement) { return null; } return new MessageComponentDef(debugElement); } clickLogin() { click(this.loginButtonElement.nativeElement); tick(); this.detectChanges(); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4ucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BrZy9kYmctcmlza2l0L2FuZ3VsYXItdGVzdGluZy9zcmMvbGliL2RlZmluaXRpb25zL2xvZ2luLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFtQixJQUFJLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbkQsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRTdDLE9BQU8sRUFBQyw2QkFBNkIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hILE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDbEMsT0FBTyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDakQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFakMsTUFBTSxPQUFPLFNBQVUsU0FBUSxJQUFvQjtJQUUvQyxZQUFtQixPQUF5QztRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELElBQVcsUUFBUSxDQUFDLFFBQWdCO1FBQ2hDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBVyxRQUFRLENBQUMsUUFBZ0I7UUFDaEMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDckIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3hDLE1BQU0sQ0FBQyxHQUFHLENBQ04sRUFBRSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxFQUMzQyxFQUFFLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxJQUFJLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDbkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQ3hDLE1BQU0sQ0FBQyxFQUFFLENBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FDTixFQUFFLENBQUMsU0FBUyxDQUFDLDZCQUE2QixDQUFDLEVBQzNDLEVBQUUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxFQUNoQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU0sVUFBVTtRQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0MsSUFBSSxFQUFFLENBQUM7UUFDUCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEZWJ1Z0VsZW1lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21wb25lbnRGaXh0dXJlLCB0aWNrfSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHtNYXRCdXR0b259IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge0J5fSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7TG9naW5Db21wb25lbnR9IGZyb20gJ0BkYmctcmlza2l0L2FuZ3VsYXItbG9naW4nO1xuaW1wb3J0IHtOb29wQW5pbWF0aW9uTWVzc2FnZUNvbXBvbmVudCwgUklTS19FUlJPUl9TRUxFQ1RPUiwgUklTS19HT09EX1NFTEVDVE9SfSBmcm9tICdAZGJnLXJpc2tpdC9hbmd1bGFyLXZpZXcnO1xuaW1wb3J0IHtCeVV0aWx9IGZyb20gJy4uL2J5LnV0aWwnO1xuaW1wb3J0IHtjbGljaywgc2V0TmdNb2RlbFZhbHVlfSBmcm9tICcuLi9ldmVudHMnO1xuaW1wb3J0IHtNZXNzYWdlQ29tcG9uZW50RGVmfSBmcm9tICcuL21lc3NhZ2UuZGVmJztcbmltcG9ydCB7UGFnZX0gZnJvbSAnLi9wYWdlLmJhc2UnO1xuXG5leHBvcnQgY2xhc3MgTG9naW5QYWdlIGV4dGVuZHMgUGFnZTxMb2dpbkNvbXBvbmVudD4ge1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8TG9naW5Db21wb25lbnQ+KSB7XG4gICAgICAgIHN1cGVyKGZpeHR1cmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9ybUVsZW1lbnQoKTogRGVidWdFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVidWdFbGVtZW50LnF1ZXJ5KEJ5LmNzcygnZm9ybScpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHVzZXJuYW1lRWxlbWVudCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtRWxlbWVudC5xdWVyeShCeS5jc3MoJ2lucHV0W25hbWU9dXNlcm5hbWVdJykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdXNlcm5hbWUodXNlcm5hbWU6IHN0cmluZykge1xuICAgICAgICBzZXROZ01vZGVsVmFsdWUodGhpcy51c2VybmFtZUVsZW1lbnQsIHVzZXJuYW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBhc3N3b3JkRWxlbWVudCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtRWxlbWVudC5xdWVyeShCeS5jc3MoJ2lucHV0W25hbWU9cGFzc3dvcmRdJykpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgcGFzc3dvcmQocGFzc3dvcmQ6IHN0cmluZykge1xuICAgICAgICBzZXROZ01vZGVsVmFsdWUodGhpcy5wYXNzd29yZEVsZW1lbnQsIHBhc3N3b3JkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxvZ2luQnV0dG9uRWxlbWVudCgpOiBEZWJ1Z0VsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtRWxlbWVudC5xdWVyeShCeS5kaXJlY3RpdmUoTWF0QnV0dG9uKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzdWNjZXNzTWVzc2FnZSgpOiBNZXNzYWdlQ29tcG9uZW50RGVmIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGRlYnVnRWxlbWVudCA9IHRoaXMuZGVidWdFbGVtZW50LnF1ZXJ5KFxuICAgICAgICAgICAgQnlVdGlsLmFuZChcbiAgICAgICAgICAgICAgICBCeS5kaXJlY3RpdmUoTm9vcEFuaW1hdGlvbk1lc3NhZ2VDb21wb25lbnQpLFxuICAgICAgICAgICAgICAgIEJ5LmNzcyhSSVNLX0dPT0RfU0VMRUNUT1IpKSk7XG4gICAgICAgIGlmICghZGVidWdFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IE1lc3NhZ2VDb21wb25lbnREZWYoZGVidWdFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVycm9yTWVzc2FnZSgpOiBNZXNzYWdlQ29tcG9uZW50RGVmIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGRlYnVnRWxlbWVudCA9IHRoaXMuZGVidWdFbGVtZW50LnF1ZXJ5KFxuICAgICAgICAgICAgQnlVdGlsLm9yKFxuICAgICAgICAgICAgICAgIEJ5VXRpbC5hbmQoXG4gICAgICAgICAgICAgICAgICAgIEJ5LmRpcmVjdGl2ZShOb29wQW5pbWF0aW9uTWVzc2FnZUNvbXBvbmVudCksXG4gICAgICAgICAgICAgICAgICAgIEJ5LmNzcyhSSVNLX0VSUk9SX1NFTEVDVE9SKSksXG4gICAgICAgICAgICAgICAgQnkuY3NzKCdoMycpKSk7XG4gICAgICAgIGlmICghZGVidWdFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IE1lc3NhZ2VDb21wb25lbnREZWYoZGVidWdFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xpY2tMb2dpbigpIHtcbiAgICAgICAgY2xpY2sodGhpcy5sb2dpbkJ1dHRvbkVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRpY2soKTtcbiAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxufVxuIl19