diff --git a/cypress.config.js b/cypress.config.js index 500dda5c5..1924144f6 100644 --- a/cypress.config.js +++ b/cypress.config.js @@ -30,9 +30,11 @@ export default defineConfig({ testFiles: '**/*.spec.js', supportFile: 'test/cypress/support/unit.js', }, - setupNodeEvents(on, config) { - import('cypress-mochawesome-reporter/plugin').then((plugin) => plugin.default(on)); - // implement node event listeners here + setupNodeEvents: async (on, config) => { + const plugin = await import('cypress-mochawesome-reporter/plugin'); + plugin.default(on); + + return config; }, viewportWidth: 1280, viewportHeight: 720, diff --git a/src/components/ItemsFilterPanel.vue b/src/components/ItemsFilterPanel.vue index 084feb377..be4d475b6 100644 --- a/src/components/ItemsFilterPanel.vue +++ b/src/components/ItemsFilterPanel.vue @@ -349,4 +349,11 @@ es: floramondo: Floramondo salesPersonFk: Comprador categoryFk: Categoría + Plant: Planta natural + Flower: Flor fresca + Handmade: Hecho a mano + Artificial: Artificial + Green: Verdes frescos + Accessories: Complementos florales + Fruit: Fruta diff --git a/src/components/common/RightMenu.vue b/src/components/common/RightMenu.vue index 1eded089e..196815df1 100644 --- a/src/components/common/RightMenu.vue +++ b/src/components/common/RightMenu.vue @@ -26,6 +26,7 @@ onMounted(() => { round dense icon="dock_to_left" + data-cy="toggle-right-drawer" > {{ t('globals.collapseMenu') }} diff --git a/src/components/common/VnInput.vue b/src/components/common/VnInput.vue index 1a0bb0019..78f08a479 100644 --- a/src/components/common/VnInput.vue +++ b/src/components/common/VnInput.vue @@ -175,7 +175,11 @@ const handleUppercase = () => { v-if="!$attrs.disabled && !($attrs.readonly) && $props.uppercase" @click="handleUppercase" class="uppercase-icon" - /> + > + + {{ t('Convert to uppercase') }} + + @@ -188,13 +192,26 @@ const handleUppercase = () => { + en: inputMin: Must be more than {value} maxLength: The value exceeds {value} characters inputMax: Must be less than {value} + es: inputMin: Debe ser mayor a {value} maxLength: El valor excede los {value} carácteres inputMax: Debe ser menor a {value} + Convert to uppercase: Convertir a mayúsculas \ No newline at end of file diff --git a/src/components/ui/VnPaginate.vue b/src/components/ui/VnPaginate.vue index 655f37059..7bb81591f 100644 --- a/src/components/ui/VnPaginate.vue +++ b/src/components/ui/VnPaginate.vue @@ -170,7 +170,7 @@ function emitStoreData() { async function paginate() { const { page, rowsPerPage, sortBy, descending } = pagination.value; - if (!props.url) return; + if (!arrayData.store.url) return; isLoading.value = true; await arrayData.loadMore(); diff --git a/src/pages/Customer/components/CustomerSummaryTable.vue b/src/pages/Customer/components/CustomerSummaryTable.vue index c1ba506fd..bb6f4442b 100644 --- a/src/pages/Customer/components/CustomerSummaryTable.vue +++ b/src/pages/Customer/components/CustomerSummaryTable.vue @@ -114,7 +114,7 @@ const columns = computed(() => [ action: ({ id }) => window.open( router.resolve({ params: { id }, name: 'TicketSale' }).href, - '_blank' + '_blank', ), isPrimary: true, }, @@ -122,7 +122,7 @@ const columns = computed(() => [ title: t('components.smartCard.viewSummary'), icon: 'preview', isPrimary: true, - action: (row) => viewSummary(row.id, TicketSummary), + action: (row) => viewSummary(row.id, TicketSummary, 'lg-width'), }, ], }, diff --git a/src/pages/Entry/Card/EntryDescriptorMenu.vue b/src/pages/Entry/Card/EntryDescriptorMenu.vue index 1893a04f5..03cd53358 100644 --- a/src/pages/Entry/Card/EntryDescriptorMenu.vue +++ b/src/pages/Entry/Card/EntryDescriptorMenu.vue @@ -44,7 +44,7 @@ const transferEntry = async () => { diff --git a/src/pages/Item/locale/en.yml b/src/pages/Item/locale/en.yml index 96bdd9b6d..bc73abb12 100644 --- a/src/pages/Item/locale/en.yml +++ b/src/pages/Item/locale/en.yml @@ -76,13 +76,6 @@ itemTags: searchbar: label: Search item info: Search by item id -itemType: - shared: - code: Code - name: Name - worker: Worker - category: Category - temperature: Temperature item: params: daysOnward: Days onward diff --git a/src/pages/Item/locale/es.yml b/src/pages/Item/locale/es.yml index c65062a2b..dd5074f5f 100644 --- a/src/pages/Item/locale/es.yml +++ b/src/pages/Item/locale/es.yml @@ -80,6 +80,9 @@ itemType: worker: Trabajador category: Reino temperature: Temperatura +searchbar: + label: Buscar artículo + info: Buscar por id de artículo params: state: asfsdf item: @@ -216,6 +219,6 @@ item: item: 'Artículo' achieved: 'Conseguido' concept: 'Concepto' - state: 'Estado' + state: 'Estado' search: 'Buscar artículo' - searchInfo: 'Puedes buscar por id' \ No newline at end of file + searchInfo: 'Puedes buscar por id' diff --git a/src/pages/Route/Card/RouteCard.vue b/src/pages/Route/Card/RouteCard.vue index 4df0278a6..98383f85b 100644 --- a/src/pages/Route/Card/RouteCard.vue +++ b/src/pages/Route/Card/RouteCard.vue @@ -1,8 +1,7 @@ diff --git a/src/pages/Travel/Card/TravelSummary.vue b/src/pages/Travel/Card/TravelSummary.vue index cf009a6ca..16d42f104 100644 --- a/src/pages/Travel/Card/TravelSummary.vue +++ b/src/pages/Travel/Card/TravelSummary.vue @@ -185,33 +185,31 @@ const entriesTableRows = computed(() => { return entries.value; }); -const entriesTotalHb = computed(() => - entriesTableRows.value.reduce((acc, { hb }) => acc + hb, 0) -); +const entriesTotals = computed(() => { + const totals = { + hb: 0, + freightValue: 0, + packageValue: 0, + cc: 0, + pallet: 0, + m3: 0, + }; -const entriesTotalFreight = computed(() => - toCurrency( - entriesTableRows.value.reduce((acc, { freightValue }) => acc + freightValue, 0) - ) -); + entriesTableRows.value.forEach((row) => { + for (const key in totals) { + totals[key] += row[key] || 0; + } + }); -const entriesTotalPackageValue = computed(() => - toCurrency( - entriesTableRows.value.reduce((acc, { packageValue }) => acc + packageValue, 0) - ) -); - -const entriesTotalCc = computed(() => - entriesTableRows.value.reduce((acc, { cc }) => acc + cc, 0) -); - -const entriesTotalPallet = computed(() => - entriesTableRows.value.reduce((acc, { pallet }) => acc + pallet, 0) -); - -const entriesTotalM3 = computed(() => - entriesTableRows.value.reduce((acc, { m3 }) => acc + m3, 0) -); + return { + hb: totals.hb.toFixed(2), + freight: toCurrency(totals.freightValue), + packageValue: toCurrency(totals.packageValue), + cc: totals.cc.toFixed(2), + pallet: totals.pallet.toFixed(2), + m3: totals.m3.toFixed(2), + }; +}); const getTravelEntries = async (id) => { const { data } = await axios.get(`Travels/${id}/getEntries`); @@ -382,12 +380,12 @@ const getLink = (param) => `#/travel/${entityId.value}/${param}`; - {{ entriesTotalHb }} - {{ entriesTotalFreight }} - {{ entriesTotalPackageValue }} - {{ entriesTotalCc }} - {{ entriesTotalPallet }} - {{ entriesTotalM3 }} + {{ entriesTotals.hb }} + {{ entriesTotals.freight }} + {{ entriesTotals.packageValue }} + {{ entriesTotals.cc }} + {{ entriesTotals.pallet }} + {{ entriesTotals.m3 }} diff --git a/test/cypress/integration/invoiceIn/invoiceInList.spec.js b/test/cypress/integration/invoiceIn/invoiceInList.spec.js index 0eb495419..4e2b8f9cc 100644 --- a/test/cypress/integration/invoiceIn/invoiceInList.spec.js +++ b/test/cypress/integration/invoiceIn/invoiceInList.spec.js @@ -9,7 +9,7 @@ describe('InvoiceInList', () => { cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/invoice-in/list`); - cy.get('#searchbar input').type('{enter}'); + cy.get('#searchbar input').should('be.visible').type('{enter}'); }); it('should redirect on clicking a invoice', () => { @@ -22,7 +22,7 @@ describe('InvoiceInList', () => { }); }); // https://redmine.verdnatura.es/issues/8420 - it.skip('should open the details', () => { + it('should open the details', () => { cy.get(firstDetailBtn).click(); cy.get(summaryHeaders).eq(1).contains('Basic data'); cy.get(summaryHeaders).eq(4).contains('Vat'); diff --git a/test/cypress/integration/vnComponent/VnLog.spec.js b/test/cypress/integration/vnComponent/VnLog.spec.js index 10917859a..80b9d07df 100644 --- a/test/cypress/integration/vnComponent/VnLog.spec.js +++ b/test/cypress/integration/vnComponent/VnLog.spec.js @@ -10,14 +10,14 @@ describe('VnLog', () => { cy.openRightMenu(); }); - it.skip('should filter by insert actions', () => { + it('should filter by insert actions', () => { cy.checkOption(':nth-child(7) > .q-checkbox'); cy.get('.q-page').click(); cy.validateContent(chips[0], 'Document'); cy.validateContent(chips[1], 'Beginning'); }); - it.skip('should filter by entity', () => { + it('should filter by entity', () => { cy.selectOption('.q-drawer--right .q-item > .q-select', 'Claim'); cy.get('.q-page').click(); cy.validateContent(chips[0], 'Claim'); diff --git a/test/cypress/support/commands.js b/test/cypress/support/commands.js index 93f6d0054..6a436c1eb 100755 --- a/test/cypress/support/commands.js +++ b/test/cypress/support/commands.js @@ -71,7 +71,7 @@ Cypress.Commands.add('getValue', (selector) => { return cy .get( selector + - '> .q-field > .q-field__inner > .q-field__control > .q-field__control-container > .q-field__native > input' + '> .q-field > .q-field__inner > .q-field__control > .q-field__control-container > .q-field__native > input', ) .invoke('val'); } @@ -264,7 +264,7 @@ Cypress.Commands.add('openListSummary', (row) => { Cypress.Commands.add('openRightMenu', (element) => { if (element) cy.waitForElement(element); - cy.get('#actions-append').click(); + cy.get('[data-cy="toggle-right-drawer"]').click(); }); Cypress.Commands.add('openLeftMenu', (element) => { @@ -330,7 +330,7 @@ Cypress.Commands.add('clickButtonsDescriptor', (id) => { Cypress.Commands.add('openUserPanel', () => { cy.get( - '.column > .q-avatar > .q-avatar__content > .q-img > .q-img__container > .q-img__image' + '.column > .q-avatar > .q-avatar__content > .q-img > .q-img__container > .q-img__image', ).click(); }); @@ -356,7 +356,7 @@ Cypress.Commands.add('checkValueForm', (id, search) => { Cypress.Commands.add('checkValueSelectForm', (id, search) => { cy.get( - `.grid-create > :nth-child(${id}) > .q-field > .q-field__inner > .q-field__control > .q-field__control-container > .q-field__native > .q-field__input` + `.grid-create > :nth-child(${id}) > .q-field > .q-field__inner > .q-field__control > .q-field__control-container > .q-field__native > .q-field__input`, ).should('have.value', search); });