Skip to content

Commit

Permalink
Admin e2e test (#1101)
Browse files Browse the repository at this point in the history
* Add ids to form fields

* Add admin dashboard tests
  • Loading branch information
boodland authored Aug 28, 2024
1 parent 92bec76 commit ffd7e15
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 0 deletions.
6 changes: 6 additions & 0 deletions components/forms/CreatePartnerAdminForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ const CreatePartnerAdminForm = () => {
return (
<form autoComplete="off" onSubmit={submitHandler}>
<TextField
id="selectPartner"
name="selectPartner"
key="select-partner"
fullWidth
select
Expand All @@ -124,6 +126,8 @@ const CreatePartnerAdminForm = () => {
</TextField>

<TextField
id="email"
name="email"
key="email-input"
onChange={(e) => setEmail(e.target.value)}
label={t('emailAddressLabel')}
Expand All @@ -134,6 +138,8 @@ const CreatePartnerAdminForm = () => {
value={email}
/>
<TextField
id="name"
name="name"
key="name-input"
onChange={(e) => setName(e.target.value)}
label={t('nameLabel')}
Expand Down
2 changes: 2 additions & 0 deletions components/forms/UpdatePartnerAdminForm.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,8 @@ const UpdatePartnerAdminForm = () => {
return !formSubmitSuccess ? (
<form autoComplete="off" onSubmit={submitHandler}>
<Autocomplete
id="partnerAdmin"
componentName="partnerAdmin"
value={autocompleteInputValue}
onChange={onChange}
onInputChange={onInputChange}
Expand Down
56 changes: 56 additions & 0 deletions cypress/integration/tests/admin-dashboard.cy.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
describe('Admin dashboard page should display', () => {
const superAdminEmail = Cypress.env('CYPRESS_SUPER_ADMIN_EMAIL') as string;
const superAdminPassword = Cypress.env('CYPRESS_SUPER_ADMIN_PASSWORD');
const adminDashboardUrl = '/admin/dashboard';

before(() => {
cy.cleanUpTestState();
cy.logInWithEmailAndPassword(superAdminEmail, superAdminPassword);
});

beforeEach(() => {
cy.visit(adminDashboardUrl);
});

it('header section', () => {
cy.get('h2').should('contain', 'Superadmin dashboard');
});

it('create an admin account panel', () => {
cy.get('h2').should('contain', 'Create an admin account');
cy.get('p').should('contain', 'Admin accounts are able to generate therapy codes');

cy.get('label.Mui-required').contains('Select the partner');
cy.get('input[name="selectPartner"]').should('exist');

cy.get('label.Mui-required').contains('Email address');
cy.get('input[id="email"]').should('exist');

cy.get('label.Mui-required').contains('Name');
cy.get('input[id="name"]').should('exist');

cy.get('button').contains('Create an admin account');
});

it('update therapy sessions panel', () => {
cy.get('h2').should('contain', 'Update therapy sessions');

cy.get('label').contains(`Type a user's email address`);
cy.get('input[id="user-email-address-search"]').should('exist');

cy.get('button').contains('Update therapy sessions');
});

it('update partner admin panel', () => {
cy.get('h2').should('contain', 'Update partner admin');

cy.get('label').contains('Type at least 4 letters');
cy.get('input[id="partnerAdmin"]').should('exist');

cy.get('button').contains('Update partner admin');
});

after(() => {
cy.logout();
});
});

0 comments on commit ffd7e15

Please sign in to comment.