LP1989195: Use nightwatch for e2e testing angular client
[evergreen-equinox.git] / Open-ILS / src / eg2 / nightwatch / pages / staff / login.ts
1 import {NightwatchBrowser, PageObjectModel} from 'nightwatch';
2 import {navigateToEgUrl} from '../../src/utils';
3
4 function fillInLoginForm(browser: NightwatchBrowser, username: string, password: string): void {
5     browser.setValue('#username', username)
6     .setValue('#password', password)
7     .click('button[type=submit]');
8 }
9
10 const loginCommands = {
11     loginToWebClient: function(browser: NightwatchBrowser, username: string, password: string): void {
12         navigateToEgUrl('eg2/staff', browser);
13         fillInLoginForm(browser, username, password);
14         browser.page.workstationAdmin().registerWorkstation();
15         browser.waitForElementVisible('#username');
16         fillInLoginForm(browser, username, password); // Submit the form again, now that we have a workstation
17         browser.waitForElementVisible('#splash-nav');
18     }
19 };
20
21 const loginPage: PageObjectModel = {
22     commands: [loginCommands]
23 };
24
25 export default loginPage;