|
- context('Login', () => {
- beforeEach(() => {
- cy.request('/api/method/logout');
- cy.visit('/login');
- cy.location().should('be', '/login');
- });
-
- it('greets with login screen', () => {
- cy.get('.page-card-head').contains('Login');
- });
-
- it('validates password', () => {
- cy.get('#login_email').type('Administrator');
- cy.get('.btn-login:visible').click();
- cy.location('pathname').should('eq', '/login');
- });
-
- it('validates email', () => {
- cy.get('#login_password').type('qwe');
- cy.get('.btn-login:visible').click();
- cy.location('pathname').should('eq', '/login');
- });
-
- it('shows invalid login if incorrect credentials', () => {
- cy.get('#login_email').type('Administrator');
- cy.get('#login_password').type('qwer');
-
- cy.get('.btn-login:visible').click();
- cy.get('.btn-login:visible').contains('Invalid Login. Try again.');
- cy.location('pathname').should('eq', '/login');
- });
-
- it('logs in using correct credentials', () => {
- cy.get('#login_email').type('Administrator');
- cy.get('#login_password').type('root');
-
- cy.get('.btn-login:visible').click();
- cy.location('pathname').should('eq', '/app');
- cy.window().its('frappe.session.user').should('eq', 'Administrator');
- });
-
- it('check redirect after login', () => {
-
- // mock for OAuth 2.0 client_id, redirect_uri, scope and state
- const payload = new URLSearchParams({
- uuid: '6fed1519-cfd8-4a2d-84a6-9a1799c7c741',
- encoded_string: 'hello all',
- encoded_url: 'http://test.localhost/callback',
- base64_string: 'aGVsbG8gYWxs'
- });
-
- cy.request('/api/method/logout');
-
- // redirect-to /me page with params to mock OAuth 2.0 like request
- cy.visit(
- '/login?redirect-to=/me?' +
- encodeURIComponent(payload.toString().replace("+", " "))
- );
-
- cy.get('#login_email').type('Administrator');
- cy.get('#login_password').type('root');
-
- cy.get('.btn-login:visible').click();
-
- // verify redirected location and url params after login
- cy.url().should('include', '/me?' + payload.toString().replace('+', '%20'));
- });
- });
|