From 85f74e5ad8da4a5f41bd4a3662ee1d6861d2b5d4 Mon Sep 17 00:00:00 2001 From: jgallego Date: Wed, 2 Apr 2025 15:38:39 +0200 Subject: [PATCH 1/6] refactor: refs #6696 remove VnUsesMana component and update related logic in TicketEditMana and TicketSale --- src/components/ui/VnUsesMana.vue | 60 ------------------------ src/pages/Ticket/Card/TicketEditMana.vue | 59 ++++++++++++++--------- src/pages/Ticket/Card/TicketSale.vue | 28 ++++------- src/router/modules/ticket.js | 4 +- 4 files changed, 48 insertions(+), 103 deletions(-) delete mode 100644 src/components/ui/VnUsesMana.vue diff --git a/src/components/ui/VnUsesMana.vue b/src/components/ui/VnUsesMana.vue deleted file mode 100644 index cb066b235..000000000 --- a/src/components/ui/VnUsesMana.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - - es: - Promotion mana: Maná promoción - Claim mana: Maná reclamación - diff --git a/src/pages/Ticket/Card/TicketEditMana.vue b/src/pages/Ticket/Card/TicketEditMana.vue index 266c82ccd..152d24dc5 100644 --- a/src/pages/Ticket/Card/TicketEditMana.vue +++ b/src/pages/Ticket/Card/TicketEditMana.vue @@ -4,7 +4,6 @@ import { useI18n } from 'vue-i18n'; import { computed, ref } from 'vue'; import { useRoute } from 'vue-router'; import { toCurrency } from 'src/filters'; -import VnUsesMana from 'components/ui/VnUsesMana.vue'; const $props = defineProps({ newPrice: { @@ -15,23 +14,36 @@ const $props = defineProps({ type: Object, default: null, }, + componentId: { + type: Number, + default: null, + }, }); +const emit = defineEmits(['save', 'cancel', 'update:componentId']); + const route = useRoute(); const mana = ref(null); -const usesMana = ref(false); - -const emit = defineEmits(['save', 'cancel']); +const usesMana = ref([]); const { t } = useI18n(); const QPopupProxyRef = ref(null); -const manaCode = ref($props.manaCode); + +const componentId = computed({ + get: () => $props.componentId, + set: (val) => emit('update:componentId', val), +}); const save = (sale = $props.sale) => { emit('save', sale); QPopupProxyRef.value.hide(); }; +const cancel = () => { + emit('cancel'); + QPopupProxyRef.value.hide(); +}; + const getMana = async () => { const { data } = await axios.get(`Tickets/${route.params.id}/getDepartmentMana`); mana.value = data; @@ -39,15 +51,12 @@ const getMana = async () => { }; const getUsesMana = async () => { - const { data } = await axios.get('Sales/usesMana'); + const { data } = await axios.get('Sales/getComponents'); usesMana.value = data; }; -const cancel = () => { - emit('cancel'); - QPopupProxyRef.value.hide(); -}; const hasMana = computed(() => typeof mana.value === 'number'); + defineExpose({ save }); @@ -59,17 +68,28 @@ defineExpose({ save }); >
Mana: {{ toCurrency(mana) }}
- + + +
-
- + +
+
+
{{ t('New price') }} - - {{ toCurrency($props.newPrice) }} - + {{ toCurrency(newPrice) }}
@@ -77,7 +97,6 @@ defineExpose({ save }); @@ -86,7 +105,6 @@ defineExpose({ save }); - - -es: - New price: Nuevo precio - diff --git a/src/pages/Ticket/Card/TicketSale.vue b/src/pages/Ticket/Card/TicketSale.vue index 2fb305cc3..d84d322fc 100644 --- a/src/pages/Ticket/Card/TicketSale.vue +++ b/src/pages/Ticket/Card/TicketSale.vue @@ -45,7 +45,7 @@ const isTicketEditable = ref(false); const sales = ref([]); const editableStatesOptions = ref([]); const selectedSales = ref([]); -const manaCode = ref('mana'); +const componentId = ref(null); const ticketState = computed(() => store.data?.ticketState?.state?.code); const transfer = ref({ lastActiveTickets: [], @@ -262,18 +262,6 @@ const DEFAULT_EDIT = { oldQuantity: null, }; const edit = ref({ ...DEFAULT_EDIT }); -const usesMana = ref(null); - -const getUsesMana = async () => { - const { data } = await axios.get('Sales/usesMana'); - usesMana.value = data; -}; - -const getMana = async () => { - const { data } = await axios.get(`Tickets/${route.params.id}/getDepartmentMana`); - mana.value = data; - await getUsesMana(); -}; const selectedValidSales = computed(() => { if (!sales.value) return; @@ -306,11 +294,14 @@ const changePrice = async (sale) => { if (newPrice != null && newPrice != sale.price) { if (await isSalePrepared(sale)) { await confirmUpdate(() => updatePrice(sale, newPrice)); - } else updatePrice(sale, newPrice); + } else await updatePrice(sale, newPrice); } }; const updatePrice = async (sale, newPrice) => { - await axios.post(`Sales/${sale.id}/updatePrice`, { newPrice }); + await axios.post(`Sales/${sale.id}/updatePrice`, { + newPrice: newPrice, + componentId: componentId.value, + }); sale.price = newPrice; edit.value = { ...DEFAULT_EDIT }; notify('globals.dataSaved', 'positive'); @@ -341,7 +332,7 @@ const updateDiscount = async (sales, newDiscount = 0) => { const params = { salesIds, newDiscount, - manaCode: manaCode.value, + componentId: componentId.value, }; await axios.post(`Tickets/${route.params.id}/updateDiscount`, params); notify('globals.dataSaved', 'positive'); @@ -796,10 +787,11 @@ watch( ref="editPriceProxyRef" :sale="row" :new-price="getNewPrice" + v-model:component-id="componentId" @save="changePrice" > import('src/pages/Ticket/Card/TicketExpedition.vue'), }, @@ -168,7 +168,7 @@ const ticketCard = { name: 'TicketBoxing', meta: { title: 'boxing', - icon: 'view_in_ar', + icon: 'videocam', }, component: () => import('src/pages/Ticket/Card/TicketBoxing.vue'), }, From d637ca978532781b6e1ed3628e6f1c498b23b953 Mon Sep 17 00:00:00 2001 From: jgallego Date: Sun, 6 Apr 2025 13:26:33 +0200 Subject: [PATCH 2/6] fix: refs #6696 handle optional chaining and ensure async operations in TicketSale components --- src/pages/Customer/Card/CustomerSummary.vue | 2 +- src/pages/Ticket/Card/TicketSale.vue | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/pages/Customer/Card/CustomerSummary.vue b/src/pages/Customer/Card/CustomerSummary.vue index 7d5d691a3..8687f85bc 100644 --- a/src/pages/Customer/Card/CustomerSummary.vue +++ b/src/pages/Customer/Card/CustomerSummary.vue @@ -183,7 +183,7 @@ const sumRisk = ({ clientRisks }) => { /> diff --git a/src/pages/Ticket/Card/TicketSale.vue b/src/pages/Ticket/Card/TicketSale.vue index d84d322fc..0ad3754c4 100644 --- a/src/pages/Ticket/Card/TicketSale.vue +++ b/src/pages/Ticket/Card/TicketSale.vue @@ -186,8 +186,8 @@ const getRowUpdateInputEvents = (sale) => { }; const resetChanges = async () => { - arrayData.fetch({ append: false }); - tableRef.value.reload(); + await arrayData.fetch({ append: false }); + await tableRef.value.reload(); selectedRows.value = []; }; const changeQuantity = async (sale) => { @@ -302,10 +302,8 @@ const updatePrice = async (sale, newPrice) => { newPrice: newPrice, componentId: componentId.value, }); - sale.price = newPrice; - edit.value = { ...DEFAULT_EDIT }; notify('globals.dataSaved', 'positive'); - resetChanges(); + await resetChanges(); }; const changeDiscount = async (sale) => { From 5bd2859e5d10ee4b145a89230f81ff4d536b590a Mon Sep 17 00:00:00 2001 From: jgallego Date: Tue, 8 Apr 2025 10:33:11 +0200 Subject: [PATCH 3/6] fix: refs #6696 update login role in tests and add data attributes for component options --- src/pages/Claim/Card/ClaimSummary.vue | 23 ++++++++++--------- src/pages/Ticket/Card/TicketEditMana.vue | 1 + .../integration/ticket/ticketSale.spec.js | 16 ++++++++----- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/src/pages/Claim/Card/ClaimSummary.vue b/src/pages/Claim/Card/ClaimSummary.vue index 67d57004f..196d24e07 100644 --- a/src/pages/Claim/Card/ClaimSummary.vue +++ b/src/pages/Claim/Card/ClaimSummary.vue @@ -346,17 +346,18 @@ function claimUrl(section) { diff --git a/src/pages/Ticket/Card/TicketEditMana.vue b/src/pages/Ticket/Card/TicketEditMana.vue index 152d24dc5..f8a72caf3 100644 --- a/src/pages/Ticket/Card/TicketEditMana.vue +++ b/src/pages/Ticket/Card/TicketEditMana.vue @@ -84,6 +84,7 @@ defineExpose({ save }); dense :dark="true" class="q-mb-sm" + :data-cy="`componentOption-${item.id}`" />
diff --git a/test/cypress/integration/ticket/ticketSale.spec.js b/test/cypress/integration/ticket/ticketSale.spec.js index 6d84f214c..7f2633092 100644 --- a/test/cypress/integration/ticket/ticketSale.spec.js +++ b/test/cypress/integration/ticket/ticketSale.spec.js @@ -4,7 +4,7 @@ const firstRow = 'tbody > :nth-child(1)'; describe('TicketSale', () => { describe('Ticket #23', () => { beforeEach(() => { - cy.login('developer'); + cy.login('salesPerson'); cy.viewport(1920, 1080); cy.visit('/#/ticket/23/sale'); }); @@ -15,6 +15,8 @@ describe('TicketSale', () => { cy.get('[data-col-field="price"]').find('.q-btn').click(); cy.waitForElement('[data-cy="ticketEditManaProxy"]'); cy.dataCy('ticketEditManaProxy').should('exist'); + cy.get('[data-cy="componentOption-17"]').click(); + cy.waitForElement('[data-cy="Price_input"]'); cy.dataCy('Price_input').clear(); cy.dataCy('Price_input').type(price); @@ -31,6 +33,7 @@ describe('TicketSale', () => { cy.get('[data-col-field="discount"]').find('.q-btn').click(); cy.waitForElement('[data-cy="ticketEditManaProxy"]'); cy.dataCy('ticketEditManaProxy').should('exist'); + cy.get('[data-cy="componentOption-17"]').click(); cy.waitForElement('[data-cy="Disc_input"]'); cy.dataCy('Disc_input').clear(); cy.dataCy('Disc_input').type(discount); @@ -73,7 +76,7 @@ describe('TicketSale', () => { }); describe('Ticket to add claim #24', () => { beforeEach(() => { - cy.login('developer'); + cy.login('salesPerson'); cy.viewport(1920, 1080); cy.visit('/#/ticket/24/sale'); }); @@ -90,9 +93,9 @@ describe('TicketSale', () => { cy.dataCy('VnConfirm_confirm').click(); }); }); - describe('Free ticket #31', () => { + describe.only('Free ticket #31', () => { beforeEach(() => { - cy.login('developer'); + cy.login('salesPerson'); cy.viewport(1920, 1080); cy.visit('/#/ticket/31/sale'); }); @@ -129,7 +132,7 @@ describe('TicketSale', () => { cy.dataCy('ticketSaleMoreActionsDropdown').should('be.disabled'); }); - it('should update discount when "Update discount" is clicked', () => { + it.only('should update discount when "Update discount" is clicked', () => { selectFirstRow(); cy.dataCy('ticketSaleMoreActionsDropdown').click(); cy.waitForElement('[data-cy="updateDiscountItem"]'); @@ -138,6 +141,7 @@ describe('TicketSale', () => { cy.waitForElement('[data-cy="ticketSaleDiscountInput"]'); cy.dataCy('ticketSaleDiscountInput').find('input').focus(); cy.dataCy('ticketSaleDiscountInput').find('input').type('10'); + cy.get('[data-cy="componentOption-17"]').click(); cy.dataCy('saveManaBtn').click(); cy.waitForElement('.q-notification__message'); cy.checkNotification('Data saved'); @@ -175,7 +179,7 @@ describe('TicketSale', () => { }); describe('Ticket to transfer #32', () => { beforeEach(() => { - cy.login('developer'); + cy.login('salesPerson'); cy.viewport(1920, 1080); cy.visit('/#/ticket/32/sale'); }); From bd8747e1fd664e001cebbe99b370e829ee7ecdaa Mon Sep 17 00:00:00 2001 From: jgallego Date: Wed, 9 Apr 2025 09:52:43 +0200 Subject: [PATCH 4/6] fix: refs #6696 remove viewport from various cypress test files --- test/cypress/integration/claim/claimAction.spec.js | 1 - .../integration/claim/claimDevelopment.spec.js | 1 - .../entry/entryCard/entryBasicData.spec.js | 1 - .../integration/entry/entryCard/entryBuys.spec.js | 1 - .../entry/entryCard/entryDescriptor.spec.js | 1 - .../integration/entry/entryCard/entryDms.spec.js | 1 - .../integration/entry/entryCard/entryLock.spec.js | 1 - .../integration/entry/entryCard/entryNotes.spec.js | 1 - test/cypress/integration/entry/entryList.spec.js | 1 - .../integration/entry/entryStockBought.spec.js | 1 - test/cypress/integration/entry/entrySupplier.spec.js | 1 - .../integration/entry/entryWasteRecalc.spec.js | 1 - .../integration/invoiceIn/invoiceInList.spec.js | 1 - .../invoiceOut/invoiceOutMakeInvoice.spec.js | 1 - .../invoiceOut/invoiceOutNegativeBases.spec.js | 1 - .../integration/invoiceOut/invvoiceOutGlobal.spec.js | 3 +-- test/cypress/integration/item/itemBarcodes.spec.js | 1 - test/cypress/integration/item/itemBotanical.spec.js | 1 - test/cypress/integration/item/itemList.spec.js | 1 - test/cypress/integration/item/itemSummary.spec.js | 1 - test/cypress/integration/item/itemTag.spec.js | 1 - test/cypress/integration/item/itemTax.spec.js | 1 - test/cypress/integration/item/itemType.spec.js | 1 - test/cypress/integration/order/orderList.spec.js | 1 - .../integration/route/agency/agencyModes.spec.js | 1 - .../route/agency/agencyWorkCenter.spec.js | 1 - test/cypress/integration/route/cmr/cmrList.spec.js | 1 - .../integration/route/roadMap/roadmapList.spec.js | 1 - .../integration/route/routeAutonomous.spec.js | 1 - .../integration/route/routeExtendedList.spec.js | 1 - test/cypress/integration/route/routeList.spec.js | 1 - .../route/vehicle/vehicleDescriptor.spec.js | 1 - .../integration/route/vehicle/vehicleList.spec.js | 1 - .../integration/route/vehicle/vehicleNotes.spec.js | 1 - .../integration/shelving/parking/parkingList.spec.js | 1 - .../integration/shelving/shelvingBasicData.spec.js | 1 - .../integration/shelving/shelvingList.spec.js | 1 - .../integration/supplier/SupplierBalance.spec.js | 1 - .../integration/ticket/ticketDescriptor.spec.js | 1 - .../integration/ticket/ticketExpedition.spec.js | 1 - test/cypress/integration/ticket/ticketFilter.spec.js | 1 - test/cypress/integration/ticket/ticketList.spec.js | 1 - test/cypress/integration/ticket/ticketNotes.spec.js | 1 - .../cypress/integration/ticket/ticketRequest.spec.js | 1 - test/cypress/integration/ticket/ticketSale.spec.js | 12 ++++-------- .../integration/vnComponent/VnBreadcrumbs.spec.js | 1 - .../wagon/wagonType/wagonTypeCreate.spec.js | 1 - .../wagon/wagonType/wagonTypeEdit.spec.js | 1 - test/cypress/integration/worker/workerPit.spec.js | 1 - .../integration/zone/zoneDeliveryDays.spec.js | 1 - .../integration/zone/zoneUpcomingDeliveries.spec.js | 1 - 51 files changed, 5 insertions(+), 59 deletions(-) diff --git a/test/cypress/integration/claim/claimAction.spec.js b/test/cypress/integration/claim/claimAction.spec.js index 8f406ad2f..6e916451c 100644 --- a/test/cypress/integration/claim/claimAction.spec.js +++ b/test/cypress/integration/claim/claimAction.spec.js @@ -6,7 +6,6 @@ describe.skip('ClaimAction', () => { const destinationRow = '.q-item__section > .q-field'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/claim/${claimId}/action`); }); diff --git a/test/cypress/integration/claim/claimDevelopment.spec.js b/test/cypress/integration/claim/claimDevelopment.spec.js index 097d870df..1fb77fe20 100755 --- a/test/cypress/integration/claim/claimDevelopment.spec.js +++ b/test/cypress/integration/claim/claimDevelopment.spec.js @@ -7,7 +7,6 @@ describe.skip('ClaimDevelopment', () => { const newReason = 'Calor'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/claim/${claimId}/development`); cy.waitForElement('tbody'); diff --git a/test/cypress/integration/entry/entryCard/entryBasicData.spec.js b/test/cypress/integration/entry/entryCard/entryBasicData.spec.js index ba689b8c7..de8bc6bc9 100644 --- a/test/cypress/integration/entry/entryCard/entryBasicData.spec.js +++ b/test/cypress/integration/entry/entryCard/entryBasicData.spec.js @@ -2,7 +2,6 @@ import '../commands.js'; describe('EntryBasicData', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('buyer'); cy.visit(`/#/entry/list`); }); diff --git a/test/cypress/integration/entry/entryCard/entryBuys.spec.js b/test/cypress/integration/entry/entryCard/entryBuys.spec.js index b5e185a8e..8f7ad6d7e 100644 --- a/test/cypress/integration/entry/entryCard/entryBuys.spec.js +++ b/test/cypress/integration/entry/entryCard/entryBuys.spec.js @@ -1,7 +1,6 @@ import '../commands.js'; describe('EntryBuys', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('buyer'); cy.visit(`/#/entry/list`); }); diff --git a/test/cypress/integration/entry/entryCard/entryDescriptor.spec.js b/test/cypress/integration/entry/entryCard/entryDescriptor.spec.js index 8185866db..d6f2b2543 100644 --- a/test/cypress/integration/entry/entryCard/entryDescriptor.spec.js +++ b/test/cypress/integration/entry/entryCard/entryDescriptor.spec.js @@ -1,7 +1,6 @@ import '../commands.js'; describe('EntryDescriptor', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('buyer'); cy.visit(`/#/entry/list`); }); diff --git a/test/cypress/integration/entry/entryCard/entryDms.spec.js b/test/cypress/integration/entry/entryCard/entryDms.spec.js index f3f0ef20b..640b70907 100644 --- a/test/cypress/integration/entry/entryCard/entryDms.spec.js +++ b/test/cypress/integration/entry/entryCard/entryDms.spec.js @@ -1,7 +1,6 @@ import '../commands.js'; describe('EntryDms', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('buyer'); cy.visit(`/#/entry/list`); }); diff --git a/test/cypress/integration/entry/entryCard/entryLock.spec.js b/test/cypress/integration/entry/entryCard/entryLock.spec.js index 6ba4392ae..957c67cc6 100644 --- a/test/cypress/integration/entry/entryCard/entryLock.spec.js +++ b/test/cypress/integration/entry/entryCard/entryLock.spec.js @@ -1,7 +1,6 @@ import '../commands.js'; describe('EntryLock', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('buyer'); cy.visit(`/#/entry/list`); }); diff --git a/test/cypress/integration/entry/entryCard/entryNotes.spec.js b/test/cypress/integration/entry/entryCard/entryNotes.spec.js index 544ac23b0..80c9fd38d 100644 --- a/test/cypress/integration/entry/entryCard/entryNotes.spec.js +++ b/test/cypress/integration/entry/entryCard/entryNotes.spec.js @@ -2,7 +2,6 @@ import '../commands.js'; describe('EntryNotes', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('buyer'); cy.visit(`/#/entry/list`); }); diff --git a/test/cypress/integration/entry/entryList.spec.js b/test/cypress/integration/entry/entryList.spec.js index bad47615f..fc76f6d87 100644 --- a/test/cypress/integration/entry/entryList.spec.js +++ b/test/cypress/integration/entry/entryList.spec.js @@ -2,7 +2,6 @@ import './commands'; describe('EntryList', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('buyer'); cy.visit(`/#/entry/list`); }); diff --git a/test/cypress/integration/entry/entryStockBought.spec.js b/test/cypress/integration/entry/entryStockBought.spec.js index 3fad44d91..60019c9f4 100644 --- a/test/cypress/integration/entry/entryStockBought.spec.js +++ b/test/cypress/integration/entry/entryStockBought.spec.js @@ -1,6 +1,5 @@ describe('EntryStockBought', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('buyer'); cy.visit(`/#/entry/stock-Bought`); }); diff --git a/test/cypress/integration/entry/entrySupplier.spec.js b/test/cypress/integration/entry/entrySupplier.spec.js index 83deecea5..df90d00d7 100644 --- a/test/cypress/integration/entry/entrySupplier.spec.js +++ b/test/cypress/integration/entry/entrySupplier.spec.js @@ -1,6 +1,5 @@ describe('EntrySupplier when is supplier', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('supplier'); cy.visit(`/#/entry/my`, { onBeforeLoad(win) { diff --git a/test/cypress/integration/entry/entryWasteRecalc.spec.js b/test/cypress/integration/entry/entryWasteRecalc.spec.js index 1b358676c..bd50e9c19 100644 --- a/test/cypress/integration/entry/entryWasteRecalc.spec.js +++ b/test/cypress/integration/entry/entryWasteRecalc.spec.js @@ -1,7 +1,6 @@ import './commands'; describe('EntryDms', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('buyerBoss'); cy.visit(`/#/entry/waste-recalc`); }); diff --git a/test/cypress/integration/invoiceIn/invoiceInList.spec.js b/test/cypress/integration/invoiceIn/invoiceInList.spec.js index 7254e8909..3e6e198e0 100644 --- a/test/cypress/integration/invoiceIn/invoiceInList.spec.js +++ b/test/cypress/integration/invoiceIn/invoiceInList.spec.js @@ -14,7 +14,6 @@ describe('InvoiceInList', () => { }; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('administrative'); cy.visit(`/#/invoice-in/list`); cy.get('#searchbar input').type('{enter}'); diff --git a/test/cypress/integration/invoiceOut/invoiceOutMakeInvoice.spec.js b/test/cypress/integration/invoiceOut/invoiceOutMakeInvoice.spec.js index e93326f1d..d58eb4a1f 100644 --- a/test/cypress/integration/invoiceOut/invoiceOutMakeInvoice.spec.js +++ b/test/cypress/integration/invoiceOut/invoiceOutMakeInvoice.spec.js @@ -1,7 +1,6 @@ /// describe.skip('InvoiceOut manual invoice', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/ticket/list`); cy.get('#searchbar input').type('{enter}'); diff --git a/test/cypress/integration/invoiceOut/invoiceOutNegativeBases.spec.js b/test/cypress/integration/invoiceOut/invoiceOutNegativeBases.spec.js index 9c6eef2ed..89f71e940 100644 --- a/test/cypress/integration/invoiceOut/invoiceOutNegativeBases.spec.js +++ b/test/cypress/integration/invoiceOut/invoiceOutNegativeBases.spec.js @@ -4,7 +4,6 @@ describe('InvoiceOut negative bases', () => { `:nth-child(1) > [data-col-field="${opt}"] > .no-padding > .link`; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/invoice-out/negative-bases`); }); diff --git a/test/cypress/integration/invoiceOut/invvoiceOutGlobal.spec.js b/test/cypress/integration/invoiceOut/invvoiceOutGlobal.spec.js index 06e132b39..0170970a5 100644 --- a/test/cypress/integration/invoiceOut/invvoiceOutGlobal.spec.js +++ b/test/cypress/integration/invoiceOut/invvoiceOutGlobal.spec.js @@ -1,7 +1,6 @@ /// describe('InvoiceOut global invoicing', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('administrative'); cy.visit(`/#/invoice-out/global-invoicing`); }); @@ -17,7 +16,7 @@ describe('InvoiceOut global invoicing', () => { cy.dataCy('InvoiceOutGlobalPrinterSelect').type('printer1'); cy.get('.q-menu .q-item').contains('printer1').click(); cy.get( - '[label="Invoice date"] > .q-field > .q-field__inner > .q-field__control' + '[label="Invoice date"] > .q-field > .q-field__inner > .q-field__control', ).click(); cy.get(':nth-child(5) > div > .q-btn > .q-btn__content > .block').click(); cy.get('.q-date__years-content > :nth-child(2) > .q-btn').click(); diff --git a/test/cypress/integration/item/itemBarcodes.spec.js b/test/cypress/integration/item/itemBarcodes.spec.js index 1f6698f9c..746cfa0f1 100644 --- a/test/cypress/integration/item/itemBarcodes.spec.js +++ b/test/cypress/integration/item/itemBarcodes.spec.js @@ -1,7 +1,6 @@ /// describe('ItemBarcodes', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/item/1/barcode`); }); diff --git a/test/cypress/integration/item/itemBotanical.spec.js b/test/cypress/integration/item/itemBotanical.spec.js index 6105ef179..420181b0d 100644 --- a/test/cypress/integration/item/itemBotanical.spec.js +++ b/test/cypress/integration/item/itemBotanical.spec.js @@ -1,7 +1,6 @@ /// describe('Item botanical', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/item/1/botanical`); }); diff --git a/test/cypress/integration/item/itemList.spec.js b/test/cypress/integration/item/itemList.spec.js index 10e388580..bd8108344 100644 --- a/test/cypress/integration/item/itemList.spec.js +++ b/test/cypress/integration/item/itemList.spec.js @@ -2,7 +2,6 @@ describe.skip('Item list', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/item/list`); cy.typeSearchbar('{enter}'); diff --git a/test/cypress/integration/item/itemSummary.spec.js b/test/cypress/integration/item/itemSummary.spec.js index ad8267ecf..3783ed51e 100644 --- a/test/cypress/integration/item/itemSummary.spec.js +++ b/test/cypress/integration/item/itemSummary.spec.js @@ -1,7 +1,6 @@ /// describe('Item summary', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/item/1/summary`); }); diff --git a/test/cypress/integration/item/itemTag.spec.js b/test/cypress/integration/item/itemTag.spec.js index 425eaffe6..65d339151 100644 --- a/test/cypress/integration/item/itemTag.spec.js +++ b/test/cypress/integration/item/itemTag.spec.js @@ -1,6 +1,5 @@ describe('Item tag', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/item/1/tags`); cy.get('.q-page').should('be.visible'); diff --git a/test/cypress/integration/item/itemTax.spec.js b/test/cypress/integration/item/itemTax.spec.js index 6ff147135..971e3a732 100644 --- a/test/cypress/integration/item/itemTax.spec.js +++ b/test/cypress/integration/item/itemTax.spec.js @@ -1,7 +1,6 @@ /// describe('Item tax', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/item/1/tax`); }); diff --git a/test/cypress/integration/item/itemType.spec.js b/test/cypress/integration/item/itemType.spec.js index 466a49708..180a12a0f 100644 --- a/test/cypress/integration/item/itemType.spec.js +++ b/test/cypress/integration/item/itemType.spec.js @@ -6,7 +6,6 @@ describe('Item type', () => { const type = 'Flower'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/item/item-type`); }); diff --git a/test/cypress/integration/order/orderList.spec.js b/test/cypress/integration/order/orderList.spec.js index ee011ea05..b77ef8fca 100644 --- a/test/cypress/integration/order/orderList.spec.js +++ b/test/cypress/integration/order/orderList.spec.js @@ -6,7 +6,6 @@ describe('OrderList', () => { beforeEach(() => { cy.login('developer'); - cy.viewport(1920, 1080); cy.visit('/#/order/list'); }); diff --git a/test/cypress/integration/route/agency/agencyModes.spec.js b/test/cypress/integration/route/agency/agencyModes.spec.js index 3f5784997..edf7f8819 100644 --- a/test/cypress/integration/route/agency/agencyModes.spec.js +++ b/test/cypress/integration/route/agency/agencyModes.spec.js @@ -2,7 +2,6 @@ describe('Agency modes', () => { const name = 'inhouse pickup'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/route/agency/1/modes`); }); diff --git a/test/cypress/integration/route/agency/agencyWorkCenter.spec.js b/test/cypress/integration/route/agency/agencyWorkCenter.spec.js index 79dcd6f70..d73ba1491 100644 --- a/test/cypress/integration/route/agency/agencyWorkCenter.spec.js +++ b/test/cypress/integration/route/agency/agencyWorkCenter.spec.js @@ -13,7 +13,6 @@ describe('AgencyWorkCenter', () => { }; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/route/agency/11/workCenter`); }); diff --git a/test/cypress/integration/route/cmr/cmrList.spec.js b/test/cypress/integration/route/cmr/cmrList.spec.js index d33508e3a..a25a0c10a 100644 --- a/test/cypress/integration/route/cmr/cmrList.spec.js +++ b/test/cypress/integration/route/cmr/cmrList.spec.js @@ -24,7 +24,6 @@ describe('Cmr list', () => { }; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit('/#/route/cmr'); cy.typeSearchbar('{enter}'); diff --git a/test/cypress/integration/route/roadMap/roadmapList.spec.js b/test/cypress/integration/route/roadMap/roadmapList.spec.js index 35c0c2b02..bacf130a7 100644 --- a/test/cypress/integration/route/roadMap/roadmapList.spec.js +++ b/test/cypress/integration/route/roadMap/roadmapList.spec.js @@ -27,7 +27,6 @@ describe('RoadMap', () => { const summaryUrl = '/summary'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/route/roadmap`); cy.typeSearchbar('{enter}'); diff --git a/test/cypress/integration/route/routeAutonomous.spec.js b/test/cypress/integration/route/routeAutonomous.spec.js index d77584c04..6aaa2a85e 100644 --- a/test/cypress/integration/route/routeAutonomous.spec.js +++ b/test/cypress/integration/route/routeAutonomous.spec.js @@ -32,7 +32,6 @@ describe.skip('RouteAutonomous', () => { const dataSaved = 'Data saved'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/route/agency-term`); cy.typeSearchbar('{enter}'); diff --git a/test/cypress/integration/route/routeExtendedList.spec.js b/test/cypress/integration/route/routeExtendedList.spec.js index e6c873d5e..c8e6bb6dc 100644 --- a/test/cypress/integration/route/routeExtendedList.spec.js +++ b/test/cypress/integration/route/routeExtendedList.spec.js @@ -75,7 +75,6 @@ describe('Route extended list', () => { } beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(url); cy.typeSearchbar('{enter}'); diff --git a/test/cypress/integration/route/routeList.spec.js b/test/cypress/integration/route/routeList.spec.js index f08c267a4..f117a242b 100644 --- a/test/cypress/integration/route/routeList.spec.js +++ b/test/cypress/integration/route/routeList.spec.js @@ -26,7 +26,6 @@ describe('Route', () => { const summaryUrl = '/summary'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/route/list`); cy.typeSearchbar('{enter}'); diff --git a/test/cypress/integration/route/vehicle/vehicleDescriptor.spec.js b/test/cypress/integration/route/vehicle/vehicleDescriptor.spec.js index 3e9c816c4..39332b2e0 100644 --- a/test/cypress/integration/route/vehicle/vehicleDescriptor.spec.js +++ b/test/cypress/integration/route/vehicle/vehicleDescriptor.spec.js @@ -1,6 +1,5 @@ describe('Vehicle', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('deliveryAssistant'); cy.visit(`/#/route/vehicle/7/summary`); }); diff --git a/test/cypress/integration/route/vehicle/vehicleList.spec.js b/test/cypress/integration/route/vehicle/vehicleList.spec.js index 2b3c9cdbc..c30f87c6d 100644 --- a/test/cypress/integration/route/vehicle/vehicleList.spec.js +++ b/test/cypress/integration/route/vehicle/vehicleList.spec.js @@ -21,7 +21,6 @@ describe('Vehicle list', () => { const summaryUrl = '/summary'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/route/vehicle/list`); cy.typeSearchbar('{enter}'); diff --git a/test/cypress/integration/route/vehicle/vehicleNotes.spec.js b/test/cypress/integration/route/vehicle/vehicleNotes.spec.js index cd92cc4af..17b870305 100644 --- a/test/cypress/integration/route/vehicle/vehicleNotes.spec.js +++ b/test/cypress/integration/route/vehicle/vehicleNotes.spec.js @@ -10,7 +10,6 @@ describe('Vehicle Notes', () => { const newNoteText = 'probando'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/route/vehicle/1/notes`); }); diff --git a/test/cypress/integration/shelving/parking/parkingList.spec.js b/test/cypress/integration/shelving/parking/parkingList.spec.js index 7372da164..44b5fd9bc 100644 --- a/test/cypress/integration/shelving/parking/parkingList.spec.js +++ b/test/cypress/integration/shelving/parking/parkingList.spec.js @@ -5,7 +5,6 @@ describe('ParkingList', () => { const summaryHeader = '.header-link'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/shelving/parking/list`); }); diff --git a/test/cypress/integration/shelving/shelvingBasicData.spec.js b/test/cypress/integration/shelving/shelvingBasicData.spec.js index d7b0dc692..e9ff7f696 100644 --- a/test/cypress/integration/shelving/shelvingBasicData.spec.js +++ b/test/cypress/integration/shelving/shelvingBasicData.spec.js @@ -3,7 +3,6 @@ describe('ShelvingList', () => { const parking = '.q-card > :nth-child(1) > .q-select > .q-field__inner > .q-field__control > .q-field__control-container'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/shelving/1/basic-data`); }); diff --git a/test/cypress/integration/shelving/shelvingList.spec.js b/test/cypress/integration/shelving/shelvingList.spec.js index 20b72e419..7a878141a 100644 --- a/test/cypress/integration/shelving/shelvingList.spec.js +++ b/test/cypress/integration/shelving/shelvingList.spec.js @@ -1,7 +1,6 @@ /// describe('ShelvingList', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/shelving/list`); }); diff --git a/test/cypress/integration/supplier/SupplierBalance.spec.js b/test/cypress/integration/supplier/SupplierBalance.spec.js index e4a3ee65c..575624283 100644 --- a/test/cypress/integration/supplier/SupplierBalance.spec.js +++ b/test/cypress/integration/supplier/SupplierBalance.spec.js @@ -1,6 +1,5 @@ describe('Supplier Balance', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/supplier/1/balance`); }); diff --git a/test/cypress/integration/ticket/ticketDescriptor.spec.js b/test/cypress/integration/ticket/ticketDescriptor.spec.js index b5c95c463..6c3ad704e 100644 --- a/test/cypress/integration/ticket/ticketDescriptor.spec.js +++ b/test/cypress/integration/ticket/ticketDescriptor.spec.js @@ -9,7 +9,6 @@ describe('Ticket descriptor', () => { const weightValue = '[data-cy="vnLvWeight"]'; beforeEach(() => { cy.login('developer'); - cy.viewport(1920, 1080); }); it('should clone the ticket without warehouse', () => { diff --git a/test/cypress/integration/ticket/ticketExpedition.spec.js b/test/cypress/integration/ticket/ticketExpedition.spec.js index 95ec330dc..c6b633de8 100644 --- a/test/cypress/integration/ticket/ticketExpedition.spec.js +++ b/test/cypress/integration/ticket/ticketExpedition.spec.js @@ -5,7 +5,6 @@ describe('Ticket expedtion', () => { beforeEach(() => { cy.login('developer'); - cy.viewport(1920, 1080); }); it('should change the state', () => { diff --git a/test/cypress/integration/ticket/ticketFilter.spec.js b/test/cypress/integration/ticket/ticketFilter.spec.js index 2e5a3f3ce..60ad7f287 100644 --- a/test/cypress/integration/ticket/ticketFilter.spec.js +++ b/test/cypress/integration/ticket/ticketFilter.spec.js @@ -2,7 +2,6 @@ describe('TicketFilter', () => { beforeEach(() => { cy.login('developer'); - cy.viewport(1920, 1080); cy.visit('/#/ticket/list'); }); diff --git a/test/cypress/integration/ticket/ticketList.spec.js b/test/cypress/integration/ticket/ticketList.spec.js index 5613a5854..f722d01e1 100644 --- a/test/cypress/integration/ticket/ticketList.spec.js +++ b/test/cypress/integration/ticket/ticketList.spec.js @@ -4,7 +4,6 @@ describe('TicketList', () => { beforeEach(() => { cy.login('developer'); - cy.viewport(1920, 1080); cy.visit('/#/ticket/list', false); }); diff --git a/test/cypress/integration/ticket/ticketNotes.spec.js b/test/cypress/integration/ticket/ticketNotes.spec.js index 5b44f9e1f..5c06afed5 100644 --- a/test/cypress/integration/ticket/ticketNotes.spec.js +++ b/test/cypress/integration/ticket/ticketNotes.spec.js @@ -2,7 +2,6 @@ describe('TicketNotes', () => { beforeEach(() => { cy.login('developer'); - cy.viewport(1920, 1080); cy.visit('/#/ticket/31/observation'); }); diff --git a/test/cypress/integration/ticket/ticketRequest.spec.js b/test/cypress/integration/ticket/ticketRequest.spec.js index b9dc509ef..f1f5f2ea4 100644 --- a/test/cypress/integration/ticket/ticketRequest.spec.js +++ b/test/cypress/integration/ticket/ticketRequest.spec.js @@ -2,7 +2,6 @@ describe('TicketRequest', () => { beforeEach(() => { cy.login('developer'); - cy.viewport(1920, 1080); cy.visit('/#/ticket/31/request'); }); diff --git a/test/cypress/integration/ticket/ticketSale.spec.js b/test/cypress/integration/ticket/ticketSale.spec.js index 7f2633092..50ffd98f0 100644 --- a/test/cypress/integration/ticket/ticketSale.spec.js +++ b/test/cypress/integration/ticket/ticketSale.spec.js @@ -5,7 +5,6 @@ describe('TicketSale', () => { describe('Ticket #23', () => { beforeEach(() => { cy.login('salesPerson'); - cy.viewport(1920, 1080); cy.visit('/#/ticket/23/sale'); }); @@ -15,7 +14,7 @@ describe('TicketSale', () => { cy.get('[data-col-field="price"]').find('.q-btn').click(); cy.waitForElement('[data-cy="ticketEditManaProxy"]'); cy.dataCy('ticketEditManaProxy').should('exist'); - cy.get('[data-cy="componentOption-17"]').click(); + cy.get('[data-cy="componentOption-37"]').click(); cy.waitForElement('[data-cy="Price_input"]'); cy.dataCy('Price_input').clear(); @@ -33,7 +32,7 @@ describe('TicketSale', () => { cy.get('[data-col-field="discount"]').find('.q-btn').click(); cy.waitForElement('[data-cy="ticketEditManaProxy"]'); cy.dataCy('ticketEditManaProxy').should('exist'); - cy.get('[data-cy="componentOption-17"]').click(); + cy.get('[data-cy="componentOption-37"]').click(); cy.waitForElement('[data-cy="Disc_input"]'); cy.dataCy('Disc_input').clear(); cy.dataCy('Disc_input').type(discount); @@ -77,7 +76,6 @@ describe('TicketSale', () => { describe('Ticket to add claim #24', () => { beforeEach(() => { cy.login('salesPerson'); - cy.viewport(1920, 1080); cy.visit('/#/ticket/24/sale'); }); @@ -96,7 +94,6 @@ describe('TicketSale', () => { describe.only('Free ticket #31', () => { beforeEach(() => { cy.login('salesPerson'); - cy.viewport(1920, 1080); cy.visit('/#/ticket/31/sale'); }); @@ -136,12 +133,12 @@ describe('TicketSale', () => { selectFirstRow(); cy.dataCy('ticketSaleMoreActionsDropdown').click(); cy.waitForElement('[data-cy="updateDiscountItem"]'); - cy.dataCy('updateDiscountItem').should('exist'); cy.dataCy('updateDiscountItem').click(); + cy.waitForElement('[data-cy="componentOption-37"]'); + cy.get('[data-cy="componentOption-37"]').click(); cy.waitForElement('[data-cy="ticketSaleDiscountInput"]'); cy.dataCy('ticketSaleDiscountInput').find('input').focus(); cy.dataCy('ticketSaleDiscountInput').find('input').type('10'); - cy.get('[data-cy="componentOption-17"]').click(); cy.dataCy('saveManaBtn').click(); cy.waitForElement('.q-notification__message'); cy.checkNotification('Data saved'); @@ -180,7 +177,6 @@ describe('TicketSale', () => { describe('Ticket to transfer #32', () => { beforeEach(() => { cy.login('salesPerson'); - cy.viewport(1920, 1080); cy.visit('/#/ticket/32/sale'); }); it('transfer sale to a new ticket', () => { diff --git a/test/cypress/integration/vnComponent/VnBreadcrumbs.spec.js b/test/cypress/integration/vnComponent/VnBreadcrumbs.spec.js index 8e37d8c9c..347dae7df 100644 --- a/test/cypress/integration/vnComponent/VnBreadcrumbs.spec.js +++ b/test/cypress/integration/vnComponent/VnBreadcrumbs.spec.js @@ -2,7 +2,6 @@ describe('VnBreadcrumbs', () => { const lastBreadcrumb = '.q-breadcrumbs--last > .q-breadcrumbs__el'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit('/'); }); diff --git a/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js b/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js index 915927a6d..3b5d05c6f 100644 --- a/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js +++ b/test/cypress/integration/wagon/wagonType/wagonTypeCreate.spec.js @@ -1,6 +1,5 @@ describe('WagonTypeCreate', () => { beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit('/#/wagon/type/list'); cy.waitForElement('.q-page', 6000); diff --git a/test/cypress/integration/wagon/wagonType/wagonTypeEdit.spec.js b/test/cypress/integration/wagon/wagonType/wagonTypeEdit.spec.js index 36dd83411..d82f9a10d 100644 --- a/test/cypress/integration/wagon/wagonType/wagonTypeEdit.spec.js +++ b/test/cypress/integration/wagon/wagonType/wagonTypeEdit.spec.js @@ -2,7 +2,6 @@ describe('WagonTypeEdit', () => { const trayColorRow = '.q-select > .q-field__inner > .q-field__control > .q-field__control-container'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit('/#/wagon/type/1/edit'); }); diff --git a/test/cypress/integration/worker/workerPit.spec.js b/test/cypress/integration/worker/workerPit.spec.js index 04f232648..cee4560dc 100644 --- a/test/cypress/integration/worker/workerPit.spec.js +++ b/test/cypress/integration/worker/workerPit.spec.js @@ -4,7 +4,6 @@ describe('WorkerPit', () => { const savePIT = '#st-actions > .q-btn-group > .q-btn--standard'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); cy.visit(`/#/worker/1107/pit`); }); diff --git a/test/cypress/integration/zone/zoneDeliveryDays.spec.js b/test/cypress/integration/zone/zoneDeliveryDays.spec.js index a89def12d..6d19edb77 100644 --- a/test/cypress/integration/zone/zoneDeliveryDays.spec.js +++ b/test/cypress/integration/zone/zoneDeliveryDays.spec.js @@ -4,7 +4,6 @@ describe('ZoneDeliveryDays', () => { const submitForm = '.q-form > .q-btn > .q-btn__content'; beforeEach(() => { cy.login('developer'); - cy.viewport(1920, 1080); cy.visit(`/#/zone/delivery-days`); }); diff --git a/test/cypress/integration/zone/zoneUpcomingDeliveries.spec.js b/test/cypress/integration/zone/zoneUpcomingDeliveries.spec.js index 576b2ea70..1c28e732c 100644 --- a/test/cypress/integration/zone/zoneUpcomingDeliveries.spec.js +++ b/test/cypress/integration/zone/zoneUpcomingDeliveries.spec.js @@ -4,7 +4,6 @@ describe('ZoneUpcomingDeliveries', () => { beforeEach(() => { cy.login('developer'); - cy.viewport(1920, 1080); cy.visit(`/#/zone/upcoming-deliveries`); }); From b521aa86f387f3369a35c5bf0bbc69ea1b786657 Mon Sep 17 00:00:00 2001 From: jgallego Date: Wed, 9 Apr 2025 09:53:03 +0200 Subject: [PATCH 5/6] fix(TicketSale): refs #6696 pass componentId to updateDiscount functions --- src/pages/Ticket/Card/TicketSale.vue | 19 +++++++++++-------- .../Ticket/Card/TicketSaleMoreActions.vue | 4 +++- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/pages/Ticket/Card/TicketSale.vue b/src/pages/Ticket/Card/TicketSale.vue index 7a5e9e1ef..86bc5980e 100644 --- a/src/pages/Ticket/Card/TicketSale.vue +++ b/src/pages/Ticket/Card/TicketSale.vue @@ -327,28 +327,31 @@ const changeDiscount = async (sale) => { const newDiscount = edit.value.discount; if (newDiscount != null && newDiscount != sale.discount) { if (await isSalePrepared(sale)) - await confirmUpdate(() => updateDiscount([sale], newDiscount)); - else await updateDiscount([sale], newDiscount); + await confirmUpdate(() => + updateDiscount([sale], newDiscount, componentId.value), + ); + else await updateDiscount([sale], newDiscount, componentId.value); } }; -const updateDiscounts = async (sales, newDiscount) => { +const updateDiscounts = async (sales, newDiscount, componentId) => { const salesTracking = await fetchSalesTracking(); const someSaleIsPrepared = salesTracking.some((sale) => matchSale(salesTracking, sale), ); - if (someSaleIsPrepared) await confirmUpdate(() => updateDiscount(sales, newDiscount)); - else updateDiscount(sales, newDiscount); + if (someSaleIsPrepared) + await confirmUpdate(() => updateDiscount(sales, newDiscount, componentId)); + else updateDiscount(sales, newDiscount, componentId); }; -const updateDiscount = async (sales, newDiscount = 0) => { +const updateDiscount = async (sales, newDiscount, componentId) => { try { const salesIds = sales.map(({ id }) => id); const params = { salesIds, - newDiscount, - componentId: componentId.value, + newDiscount: newDiscount ?? 0, + componentId, }; await axios.post(`Tickets/${route.params.id}/updateDiscount`, params); notify('globals.dataSaved', 'positive'); diff --git a/src/pages/Ticket/Card/TicketSaleMoreActions.vue b/src/pages/Ticket/Card/TicketSaleMoreActions.vue index 37441b44f..e4736e7a7 100644 --- a/src/pages/Ticket/Card/TicketSaleMoreActions.vue +++ b/src/pages/Ticket/Card/TicketSaleMoreActions.vue @@ -47,6 +47,7 @@ const { notify } = useNotify(); const acl = useAcl(); const btnDropdownRef = ref(null); const editManaProxyRef = ref(null); +const componentId = ref(null); const { openConfirmationModal } = useVnConfirm(); const newDiscount = ref(null); @@ -112,7 +113,7 @@ const changeMultipleDiscount = () => { }); if (newDiscount.value != null && hasChanges) - emit('updateDiscounts', props.sales, newDiscount.value); + emit('updateDiscounts', props.sales, newDiscount.value, componentId.value); btnDropdownRef.value.hide(); }; @@ -206,6 +207,7 @@ const createRefund = async (withWarehouse) => { ref="editManaProxyRef" :sale="row" @save="changeMultipleDiscount" + v-model:component-id="componentId" > Date: Thu, 10 Apr 2025 07:30:26 +0200 Subject: [PATCH 6/6] fix: refs #6696 standardize viewport size in Cypress tests for consistency --- test/cypress/integration/entry/entryCard/entryBuys.spec.js | 1 + test/cypress/integration/invoiceIn/invoiceInList.spec.js | 1 + test/cypress/integration/route/routeList.spec.js | 1 + test/cypress/integration/ticket/ticketSale.spec.js | 5 +++-- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/test/cypress/integration/entry/entryCard/entryBuys.spec.js b/test/cypress/integration/entry/entryCard/entryBuys.spec.js index 8f7ad6d7e..b5e185a8e 100644 --- a/test/cypress/integration/entry/entryCard/entryBuys.spec.js +++ b/test/cypress/integration/entry/entryCard/entryBuys.spec.js @@ -1,6 +1,7 @@ import '../commands.js'; describe('EntryBuys', () => { beforeEach(() => { + cy.viewport(1920, 1080); cy.login('buyer'); cy.visit(`/#/entry/list`); }); diff --git a/test/cypress/integration/invoiceIn/invoiceInList.spec.js b/test/cypress/integration/invoiceIn/invoiceInList.spec.js index 3e6e198e0..7254e8909 100644 --- a/test/cypress/integration/invoiceIn/invoiceInList.spec.js +++ b/test/cypress/integration/invoiceIn/invoiceInList.spec.js @@ -14,6 +14,7 @@ describe('InvoiceInList', () => { }; beforeEach(() => { + cy.viewport(1920, 1080); cy.login('administrative'); cy.visit(`/#/invoice-in/list`); cy.get('#searchbar input').type('{enter}'); diff --git a/test/cypress/integration/route/routeList.spec.js b/test/cypress/integration/route/routeList.spec.js index f117a242b..309f8d023 100644 --- a/test/cypress/integration/route/routeList.spec.js +++ b/test/cypress/integration/route/routeList.spec.js @@ -27,6 +27,7 @@ describe('Route', () => { beforeEach(() => { cy.login('developer'); + cy.viewport(1920, 1080); cy.visit(`/#/route/list`); cy.typeSearchbar('{enter}'); }); diff --git a/test/cypress/integration/ticket/ticketSale.spec.js b/test/cypress/integration/ticket/ticketSale.spec.js index dad6f6e10..97b1135c6 100644 --- a/test/cypress/integration/ticket/ticketSale.spec.js +++ b/test/cypress/integration/ticket/ticketSale.spec.js @@ -4,7 +4,8 @@ const firstRow = 'tbody > :nth-child(1)'; describe('TicketSale', () => { describe('#23', () => { beforeEach(() => { - cy.login('salesPerson'); + cy.login('claimManager'); + cy.viewport(1920, 1080); cy.visit('/#/ticket/23/sale'); }); @@ -103,7 +104,7 @@ describe('TicketSale', () => { }); describe('#31 free ticket', () => { beforeEach(() => { - cy.login('salesPerson'); + cy.login('claimManager'); cy.visit('/#/ticket/31/sale'); });