From 57b38a87469928c68d06e756537092a23b44ae9a Mon Sep 17 00:00:00 2001 From: Javier Segarra Date: Wed, 3 Jul 2024 14:18:47 +0200 Subject: [PATCH] test: unit && e2e --- test/cypress/integration/logout.spec.js | 39 +++++++++++++++++++ .../__tests__/composables/useSession.spec.js | 1 + 2 files changed, 40 insertions(+) create mode 100644 test/cypress/integration/logout.spec.js diff --git a/test/cypress/integration/logout.spec.js b/test/cypress/integration/logout.spec.js new file mode 100644 index 000000000..b35a8415a --- /dev/null +++ b/test/cypress/integration/logout.spec.js @@ -0,0 +1,39 @@ +/// +describe('Logout', () => { + beforeEach(() => { + cy.login('developer'); + cy.visit(`/#/dashboard`); + cy.waitForElement('.q-page', 6000); + }); + describe('by user', () => { + it('should logout', () => { + cy.get( + '#user > .q-btn__content > .q-avatar > .q-avatar__content > .q-img > .q-img__container > .q-img__image' + ).click(); + cy.get('.block').click(); + }); + }); + describe('not user', () => { + beforeEach(() => { + cy.intercept('GET', '**/VnUsers/acl', { + statusCode: 401, + body: { + error: { + statusCode: 401, + name: 'Error', + message: 'Authorization Required', + code: 'AUTHORIZATION_REQUIRED', + }, + }, + statusMessage: 'AUTHORIZATION_REQUIRED', + }).as('someRoute'); + }); + it('when token not exists', () => { + cy.reload(); + cy.get('.q-notification__message').should( + 'have.text', + 'Authorization Required' + ); + }); + }); +}); diff --git a/test/vitest/__tests__/composables/useSession.spec.js b/test/vitest/__tests__/composables/useSession.spec.js index 831acbf18..789b149ec 100644 --- a/test/vitest/__tests__/composables/useSession.spec.js +++ b/test/vitest/__tests__/composables/useSession.spec.js @@ -55,6 +55,7 @@ describe('session', () => { expect(user.value).toEqual(previousUser); vi.spyOn(axios, 'post').mockResolvedValue({ data: true }); + vi.spyOn(axios, 'get').mockResolvedValue({ data: true }); await session.destroy(); user = state.getUser();