clean-up cypress docker config

This commit is contained in:
Francis Cao 2024-03-06 11:36:40 -08:00
parent 9779d9ba76
commit 2a8402218a
4 changed files with 27 additions and 19 deletions

View File

@ -4,4 +4,9 @@ export default defineConfig({
e2e: { e2e: {
baseUrl: 'http://localhost:3000', baseUrl: 'http://localhost:3000',
}, },
// default username / password on init
env: {
umami_user: 'admin',
umami_password: 'umami',
},
}); });

View File

@ -43,9 +43,10 @@ services:
- CYPRESS_umami_user=admin - CYPRESS_umami_user=admin
- CYPRESS_umami_password=umami - CYPRESS_umami_password=umami
volumes: volumes:
- ../tsconfig.json:/tsconfig.json - ./tsconfig.json:/tsconfig.json
- ../cypress.config.ts:/cypress.config.ts - ../cypress.config.ts:/cypress.config.ts
- ./:/cypress - ./:/cypress
- ../node_modules/:/node_modules - ../node_modules/:/node_modules
- ../src/lib/crypto.ts:/src/lib/crypto.ts
volumes: volumes:
umami-db-data: umami-db-data:

View File

@ -6,8 +6,12 @@ describe('Login tests', () => {
}, },
() => { () => {
cy.visit('/login'); cy.visit('/login');
cy.getDataTest('input-username').find('input').type(Cypress.env('umami_user')); cy.getDataTest('input-username').find('input').click();
cy.getDataTest('input-password').find('input').type(Cypress.env('umami_password')); cy.getDataTest('input-username').find('input').type(Cypress.env('umami_user'), { delay: 50 });
cy.getDataTest('input-password').find('input').click();
cy.getDataTest('input-password')
.find('input')
.type(Cypress.env('umami_password'), { delay: 50 });
cy.getDataTest('button-submit').click(); cy.getDataTest('button-submit').click();
cy.url().should('eq', Cypress.config().baseUrl + '/dashboard'); cy.url().should('eq', Cypress.config().baseUrl + '/dashboard');
cy.getDataTest('button-profile').click(); cy.getDataTest('button-profile').click();

View File

@ -10,8 +10,10 @@ describe('Website tests', () => {
cy.visit('/settings/websites'); cy.visit('/settings/websites');
cy.getDataTest('button-website-add').click(); cy.getDataTest('button-website-add').click();
cy.contains(/Add website/i).should('be.visible'); cy.contains(/Add website/i).should('be.visible');
cy.getDataTest('input-name').find('input').wait(500).type('Add test', { delay: 50 }); cy.getDataTest('input-name').find('input').click();
cy.getDataTest('input-domain').find('input').wait(500).type('addtest.com', { delay: 50 }); cy.getDataTest('input-name').find('input').type('Add test', { delay: 50 });
cy.getDataTest('input-domain').find('input').click();
cy.getDataTest('input-domain').find('input').type('addtest.com', { delay: 50 });
cy.getDataTest('button-submit').click(); cy.getDataTest('button-submit').click();
cy.get('td[label="Name"]').should('contain.text', 'Add test'); cy.get('td[label="Name"]').should('contain.text', 'Add test');
cy.get('td[label="Domain"]').should('contain.text', 'addtest.com'); cy.get('td[label="Domain"]').should('contain.text', 'addtest.com');
@ -26,10 +28,10 @@ describe('Website tests', () => {
cy.deleteWebsite(websiteId); cy.deleteWebsite(websiteId);
}); });
cy.visit('/settings/websites'); cy.visit('/settings/websites');
cy.contains('Add test').should('not.exist'); cy.contains(/Add test/i).should('not.exist');
}); });
it.only('Edit a website', () => { it('Edit a website', () => {
// prep data // prep data
cy.addWebsite('Update test', 'updatetest.com'); cy.addWebsite('Update test', 'updatetest.com');
cy.visit('/settings/websites'); cy.visit('/settings/websites');
@ -37,16 +39,12 @@ describe('Website tests', () => {
// edit website // edit website
cy.getDataTest('link-button-edit').first().click(); cy.getDataTest('link-button-edit').first().click();
cy.contains(/Details/i).should('be.visible'); cy.contains(/Details/i).should('be.visible');
cy.getDataTest('input-name') cy.getDataTest('input-name').find('input').click();
.find('input') cy.getDataTest('input-name').find('input').clear();
.wait(500) cy.getDataTest('input-name').find('input').type('Updated website', { delay: 50 });
.clear() cy.getDataTest('input-domain').find('input').click();
.type('Updated website', { delay: 50 }); cy.getDataTest('input-domain').find('input').clear();
cy.getDataTest('input-domain') cy.getDataTest('input-domain').find('input').type('updatedwebsite.com', { delay: 50 });
.find('input')
.wait(500)
.clear()
.type('updatedwebsite.com', { delay: 50 });
cy.getDataTest('button-submit').click({ force: true }); cy.getDataTest('button-submit').click({ force: true });
cy.getDataTest('input-name').find('input').should('have.value', 'Updated website'); cy.getDataTest('input-name').find('input').should('have.value', 'Updated website');
cy.getDataTest('input-domain').find('input').should('have.value', 'updatedwebsite.com'); cy.getDataTest('input-domain').find('input').should('have.value', 'updatedwebsite.com');
@ -69,7 +67,7 @@ describe('Website tests', () => {
cy.deleteWebsite(websiteId); cy.deleteWebsite(websiteId);
}); });
cy.visit('/settings/websites'); cy.visit('/settings/websites');
cy.contains('Add test').should('not.exist'); cy.contains(/Add test/i).should('not.exist');
}); });
it('Delete a website', () => { it('Delete a website', () => {
@ -86,6 +84,6 @@ describe('Website tests', () => {
cy.contains(/Type DELETE in the box below to confirm./i).should('be.visible'); cy.contains(/Type DELETE in the box below to confirm./i).should('be.visible');
cy.get('input[name="confirm"').type('DELETE'); cy.get('input[name="confirm"').type('DELETE');
cy.get('button[type="submit"]').click(); cy.get('button[type="submit"]').click();
cy.contains('Delete test').should('not.exist'); cy.contains(/Delete test/i).should('not.exist');
}); });
}); });