74 lines
2.3 KiB
JavaScript
74 lines
2.3 KiB
JavaScript
// The Lucia project.
|
|
// Copyright 2026-2026 DSP, inc. All rights reserved.
|
|
// Authors:
|
|
// imacat.yang@dsp.im (imacat), 2026/03/05
|
|
|
|
import { loginWithFixtures } from '../support/intercept';
|
|
|
|
describe('My Account Page', () => {
|
|
beforeEach(() => {
|
|
loginWithFixtures();
|
|
cy.visit('/my-account');
|
|
cy.wait('@getUserDetail');
|
|
});
|
|
|
|
it('displays user name heading', () => {
|
|
cy.get('#general_acct_info_user_name').should('exist');
|
|
cy.get('#general_acct_info_user_name').should('contain', 'Test Admin');
|
|
});
|
|
|
|
it('shows Admin badge for admin user', () => {
|
|
cy.contains('Admin').should('exist');
|
|
});
|
|
|
|
it('shows visit count info', () => {
|
|
cy.get('#general_account_visit_info').should('exist');
|
|
cy.get('#general_account_visit_info').should('contain', 'Total visits');
|
|
});
|
|
|
|
it('displays account username (read-only)', () => {
|
|
cy.contains('Test Admin').should('exist');
|
|
});
|
|
|
|
it('shows Edit button for name field', () => {
|
|
cy.contains('button', 'Edit').should('exist');
|
|
});
|
|
|
|
it('clicking Edit shows input field and Save/Cancel buttons', () => {
|
|
cy.contains('button', 'Edit').first().click();
|
|
cy.get('#input_name_field').should('exist');
|
|
cy.contains('button', 'Save').should('exist');
|
|
cy.contains('button', 'Cancel').should('exist');
|
|
});
|
|
|
|
it('clicking Cancel reverts name field to read-only', () => {
|
|
cy.contains('button', 'Edit').first().click();
|
|
cy.get('#input_name_field').should('exist');
|
|
cy.contains('button', 'Cancel').click();
|
|
cy.get('#input_name_field').should('not.exist');
|
|
});
|
|
|
|
it('shows Reset button for password field', () => {
|
|
cy.contains('button', 'Reset').should('exist');
|
|
});
|
|
|
|
it('clicking Reset shows password input and Save/Cancel', () => {
|
|
cy.contains('button', 'Reset').click();
|
|
cy.get('input[type="password"]').should('exist');
|
|
cy.contains('button', 'Save').should('exist');
|
|
cy.contains('button', 'Cancel').should('exist');
|
|
});
|
|
|
|
it('clicking Cancel on password field hides the input', () => {
|
|
cy.contains('button', 'Reset').click();
|
|
cy.get('input[type="password"]').should('exist');
|
|
// The Cancel button for password is the second one
|
|
cy.get('.cancel-btn').click();
|
|
cy.get('input[type="password"]').should('not.exist');
|
|
});
|
|
|
|
it('shows Session section', () => {
|
|
cy.contains('Session').should('exist');
|
|
});
|
|
});
|