From c1059bdb2d47c2daaa3edeb488eadcf7e683071f Mon Sep 17 00:00:00 2001 From: alexm Date: Fri, 24 Feb 2023 12:51:29 +0100 Subject: [PATCH] test: front and e2e --- src/pages/Claim/Card/ClaimCard.vue | 14 -------------- src/pages/Claim/Card/ClaimPhoto.vue | 15 +++++++++++++-- test/cypress/integration/claimPhoto.spec.js | 16 ++++++++++------ test/cypress/support/commands.js | 2 +- .../__tests__/pages/Claims/ClaimPhoto.spec.js | 15 ++++++++++----- 5 files changed, 34 insertions(+), 28 deletions(-) diff --git a/src/pages/Claim/Card/ClaimCard.vue b/src/pages/Claim/Card/ClaimCard.vue index 2308a5e14..f66af86cb 100644 --- a/src/pages/Claim/Card/ClaimCard.vue +++ b/src/pages/Claim/Card/ClaimCard.vue @@ -11,20 +11,6 @@ const state = useState(); - - - - - - - Detalles - - diff --git a/src/pages/Claim/Card/ClaimPhoto.vue b/src/pages/Claim/Card/ClaimPhoto.vue index 8d269bbce..ba974ca87 100644 --- a/src/pages/Claim/Card/ClaimPhoto.vue +++ b/src/pages/Claim/Card/ClaimPhoto.vue @@ -13,6 +13,7 @@ import FetchData from 'components/FetchData.vue'; const router = useRouter(); const { t } = useI18n(); + const session = useSession(); const token = session.getToken(); const quasar = useQuasar(); @@ -131,7 +132,7 @@ async function create() { type: 'positive', icon: 'check', }); - console.log(claimDmsRef); + claimDmsRef.value.fetch(); } @@ -269,7 +270,17 @@ function onDrag() { @click="inputFile.nativeEl.click()" icon="add_circle" :label="t('globals.add')" - /> + > + + {{ t('globals.add') }} + diff --git a/test/cypress/integration/claimPhoto.spec.js b/test/cypress/integration/claimPhoto.spec.js index a6b4286cb..e5ea2ce25 100755 --- a/test/cypress/integration/claimPhoto.spec.js +++ b/test/cypress/integration/claimPhoto.spec.js @@ -2,10 +2,8 @@ describe('ClaimPhoto', () => { beforeEach(() => { const claimId = 1; - cy.viewport(1280, 720); - cy.login('developer').then(() => { - cy.visit(`/#/claim/${claimId}/photos`); - }); + cy.login('developer'); + cy.visit(`/#/claim/${claimId}/photos`); }); it('should add new file', () => { @@ -41,9 +39,15 @@ describe('ClaimPhoto', () => { ); }); - it('should remove first file', () => { + it('should remove third and fourth file', () => { cy.get( - '.multimediaParent > :nth-child(1) > .q-btn > .q-btn__content > .q-icon' + '.multimediaParent > :nth-child(3) > .q-btn > .q-btn__content > .q-icon' + ).click(); + cy.get('.q-btn--standard > .q-btn__content > .block').click(); + cy.get('.q-notification__message').should('have.text', 'Data deleted'); + + cy.get( + '.multimediaParent > :nth-child(3) > .q-btn > .q-btn__content > .q-icon' ).click(); cy.get('.q-btn--standard > .q-btn__content > .block').click(); cy.get('.q-notification__message').should('have.text', 'Data deleted'); diff --git a/test/cypress/support/commands.js b/test/cypress/support/commands.js index 4ab3ae23f..a3a61c423 100755 --- a/test/cypress/support/commands.js +++ b/test/cypress/support/commands.js @@ -28,7 +28,7 @@ // Imports Quasar Cypress AE predefined commands // import { registerCommands } from '@quasar/quasar-app-extension-testing-e2e-cypress'; Cypress.Commands.add('login', (user) => { - cy.visit('/#/login'); + //cy.visit('/#/login'); cy.request({ method: 'POST', url: '/api/accounts/login', diff --git a/test/vitest/__tests__/pages/Claims/ClaimPhoto.spec.js b/test/vitest/__tests__/pages/Claims/ClaimPhoto.spec.js index e09d15474..33862445d 100644 --- a/test/vitest/__tests__/pages/Claims/ClaimPhoto.spec.js +++ b/test/vitest/__tests__/pages/Claims/ClaimPhoto.spec.js @@ -21,10 +21,9 @@ describe('ClaimPhoto', () => { beforeAll(() => { vm = createWrapper(ClaimPhoto, { global: { - stubs: ['FetchData', 'TeleportSlot'], + stubs: ['FetchData', 'TeleportSlot', 'vue-i18n'], mocks: { - claimDms: [{ dmsFk: 1 }], - claimDmsRef: { hola: 'hola' }, + fetch: vi.fn(), }, }, }).vm; @@ -91,18 +90,24 @@ describe('ClaimPhoto', () => { it('should upload file and call quasar notify', async () => { const files = [{ name: 'firstFile' }]; - vi.mock('claimDmsRef', {}); vi.spyOn(axios, 'post').mockResolvedValue({ data: true }); vi.spyOn(vm.quasar, 'notify'); + vi.spyOn(vm.claimDmsRef, 'fetch'); await vm.create(files); expect(axios.post).toHaveBeenCalledWith( - expect.objectContaining({ type: 'positive' }) + 'claims/1/uploadFile', + new FormData(), + expect.objectContaining({ + params: expect.objectContaining({ hasFile: false }), + }) ); expect(vm.quasar.notify).toHaveBeenCalledWith( expect.objectContaining({ type: 'positive' }) ); + + expect(vm.claimDmsRef.fetch).toHaveBeenCalledOnce(); }); }); });