Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 
 

69 строки
2.0 KiB

  1. context('Login', () => {
  2. beforeEach(() => {
  3. cy.request('/api/method/logout');
  4. cy.visit('/login');
  5. cy.location().should('be', '/login');
  6. });
  7. it('greets with login screen', () => {
  8. cy.get('.page-card-head').contains('Login');
  9. });
  10. it('validates password', () => {
  11. cy.get('#login_email').type('Administrator');
  12. cy.get('.btn-login:visible').click();
  13. cy.location('pathname').should('eq', '/login');
  14. });
  15. it('validates email', () => {
  16. cy.get('#login_password').type('qwe');
  17. cy.get('.btn-login:visible').click();
  18. cy.location('pathname').should('eq', '/login');
  19. });
  20. it('shows invalid login if incorrect credentials', () => {
  21. cy.get('#login_email').type('Administrator');
  22. cy.get('#login_password').type('qwer');
  23. cy.get('.btn-login:visible').click();
  24. cy.get('.btn-login:visible').contains('Invalid Login. Try again.');
  25. cy.location('pathname').should('eq', '/login');
  26. });
  27. it('logs in using correct credentials', () => {
  28. cy.get('#login_email').type('Administrator');
  29. cy.get('#login_password').type('root');
  30. cy.get('.btn-login:visible').click();
  31. cy.location('pathname').should('eq', '/app');
  32. cy.window().its('frappe.session.user').should('eq', 'Administrator');
  33. });
  34. it('check redirect after login', () => {
  35. // mock for OAuth 2.0 client_id, redirect_uri, scope and state
  36. const payload = new URLSearchParams({
  37. uuid: '6fed1519-cfd8-4a2d-84a6-9a1799c7c741',
  38. encoded_string: 'hello all',
  39. encoded_url: 'http://test.localhost/callback',
  40. base64_string: 'aGVsbG8gYWxs'
  41. });
  42. cy.request('/api/method/logout');
  43. // redirect-to /me page with params to mock OAuth 2.0 like request
  44. cy.visit(
  45. '/login?redirect-to=/me?' +
  46. encodeURIComponent(payload.toString().replace("+", " "))
  47. );
  48. cy.get('#login_email').type('Administrator');
  49. cy.get('#login_password').type('root');
  50. cy.get('.btn-login:visible').click();
  51. // verify redirected location and url params after login
  52. cy.url().should('include', '/me?' + payload.toString().replace('+', '%20'));
  53. });
  54. });