mgr/dashboard: Add E2E for login

Fixes: https://tracker.ceph.com/issues/45376

Signed-off-by: Tiago Melo <tmelo@suse.com>
This commit is contained in:
Tiago Melo 2020-04-30 21:06:51 +00:00
parent 03dbeebab3
commit 1ef00a83b1
2 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,17 @@
import { LoginPageHelper } from './login.po';
describe('Login page', () => {
const login = new LoginPageHelper();
it('should login and navigate to dashboard page', () => {
login.navigateTo();
login.doLogin();
});
it('should logout when clicking the button', () => {
login.navigateTo();
login.doLogin();
login.doLogout();
});
});

View File

@ -0,0 +1,22 @@
import { PageHelper } from '../page-helper.po';
export class LoginPageHelper extends PageHelper {
pages = {
index: { url: '#/login', id: 'cd-login' },
dashboard: { url: '#/dashboard', id: 'cd-dashboard' }
};
doLogin() {
cy.get('[name=username]').type('admin');
cy.get('#password').type('admin');
cy.contains('input', 'Login').click();
cy.get('cd-dashboard').should('exist');
}
doLogout() {
cy.get('cd-identity a').click();
cy.contains('cd-identity span', 'Sign out').click();
cy.get('cd-login').should('exist');
cy.location('hash').should('be', '#login');
}
}