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 @@ -<script setup> -import { ref } from 'vue'; -import { useI18n } from 'vue-i18n'; - -const { t } = useI18n(); -const props = defineProps({ - usesMana: { - type: Boolean, - required: true, - }, - manaCode: { - type: String, - required: true, - }, - manaVal: { - type: String, - default: 'mana', - }, - manaLabel: { - type: String, - default: 'Promotion mana', - }, - manaClaimVal: { - type: String, - default: 'manaClaim', - }, - claimLabel: { - type: String, - default: 'Claim mana', - }, -}); - -const manaCode = ref(props.manaCode); -</script> - -<template> - <div class="column q-gutter-y-sm q-mt-sm"> - <QRadio - v-model="manaCode" - dense - :val="manaVal" - :label="t(manaLabel)" - :dark="true" - class="q-mb-sm" - /> - <QRadio - v-model="manaCode" - dense - :val="manaClaimVal" - :label="t(claimLabel)" - :dark="true" - class="q-mb-sm" - /> - </div> -</template> -<i18n> - es: - Promotion mana: Maná promoción - Claim mana: Maná reclamación -</i18n> diff --git a/src/css/quasar.variables.scss b/src/css/quasar.variables.scss index 45d18af7e..c443c5826 100644 --- a/src/css/quasar.variables.scss +++ b/src/css/quasar.variables.scss @@ -18,6 +18,7 @@ $positive: #c8e484; $negative: #fb5252; $info: #84d0e2; $warning: #f4b974; +$neutral: #b0b0b0; // Pendiente de cuadrar con la base de datos $success: $positive; $alert: $negative; @@ -51,3 +52,6 @@ $width-xl: 1600px; .bg-alert { background-color: $negative; } +.bg-neutral { + background-color: $neutral; +} diff --git a/src/pages/Claim/Card/ClaimDescriptor.vue b/src/pages/Claim/Card/ClaimDescriptor.vue index 76ede81ed..3728a18c0 100644 --- a/src/pages/Claim/Card/ClaimDescriptor.vue +++ b/src/pages/Claim/Card/ClaimDescriptor.vue @@ -28,14 +28,8 @@ const entityId = computed(() => { return $props.id || route.params.id; }); -const STATE_COLOR = { - pending: 'warning', - incomplete: 'info', - resolved: 'positive', - canceled: 'negative', -}; -function stateColor(code) { - return STATE_COLOR[code]; +function stateColor(entity) { + return entity?.claimState?.classColor; } onMounted(async () => { @@ -57,9 +51,8 @@ onMounted(async () => { <VnLv v-if="entity.claimState" :label="t('claim.state')"> <template #value> <QBadge - :color="stateColor(entity.claimState.code)" - text-color="black" - dense + :color="stateColor(entity)" + style="color: var(--vn-black-text-color)" > {{ entity.claimState.description }} </QBadge> diff --git a/src/pages/Claim/Card/ClaimSummary.vue b/src/pages/Claim/Card/ClaimSummary.vue index 67d57004f..51975cc2e 100644 --- a/src/pages/Claim/Card/ClaimSummary.vue +++ b/src/pages/Claim/Card/ClaimSummary.vue @@ -108,15 +108,9 @@ const markerLabels = [ { value: 5, label: t('claim.person') }, ]; -const STATE_COLOR = { - pending: 'warning', - incomplete: 'info', - resolved: 'positive', - canceled: 'negative', -}; - function stateColor(code) { - return STATE_COLOR[code]; + const claimState = claimStates.value.find((state) => state.code === code); + return claimState?.classColor; } const developmentColumns = ref([ @@ -188,7 +182,7 @@ function claimUrl(section) { <template> <FetchData url="ClaimStates" - :filter="{ fields: ['id', 'description'] }" + :filter="{ fields: ['id', 'description', 'code', 'classColor'] }" @on-fetch="(data) => (claimStates = data)" auto-load /> @@ -346,17 +340,18 @@ function claimUrl(section) { <template #body="props"> <QTr :props="props"> <QTd v-for="col in props.cols" :key="col.name" :props="props"> - <span v-if="col.name != 'description'">{{ - t(col.value) - }}</span> - <span class="link" v-if="col.name === 'description'">{{ - t(col.value) - }}</span> - <ItemDescriptorProxy - v-if="col.name == 'description'" - :id="props.row.sale.itemFk" - :sale-fk="props.row.saleFk" - ></ItemDescriptorProxy> + <template v-if="col.name === 'description'"> + <span class="link">{{ + dashIfEmpty(col.field(props.row)) + }}</span> + <ItemDescriptorProxy + :id="props.row.sale.itemFk" + :sale-fk="props.row.saleFk" + /> + </template> + <template v-else> + {{ dashIfEmpty(col.field(props.row)) }} + </template> </QTd> </QTr> </template> diff --git a/src/pages/Claim/ClaimList.vue b/src/pages/Claim/ClaimList.vue index e0d9928f9..d6a77bafe 100644 --- a/src/pages/Claim/ClaimList.vue +++ b/src/pages/Claim/ClaimList.vue @@ -101,7 +101,10 @@ const columns = computed(() => [ name: 'stateCode', chip: { condition: () => true, - color: ({ stateCode }) => STATE_COLOR[stateCode] ?? 'bg-grey', + color: ({ stateCode }) => { + const state = states.value?.find(({ code }) => code === stateCode); + return `bg-${state.classColor}`; + }, }, columnFilter: { name: 'claimStateFk', @@ -131,12 +134,6 @@ const columns = computed(() => [ ], }, ]); - -const STATE_COLOR = { - pending: 'bg-warning', - loses: 'bg-negative', - resolved: 'bg-positive', -}; </script> <template> diff --git a/src/pages/Customer/Card/CustomerSummary.vue b/src/pages/Customer/Card/CustomerSummary.vue index 9d30f0c6d..93ca3c097 100644 --- a/src/pages/Customer/Card/CustomerSummary.vue +++ b/src/pages/Customer/Card/CustomerSummary.vue @@ -185,7 +185,7 @@ const sumRisk = ({ clientRisks }) => { /> <VnLv :label="t('customer.summary.payMethod')" - :value="entity.payMethod.name" + :value="entity.payMethod?.name" /> <VnLv :label="t('customer.summary.bankAccount')" :value="entity.iban" /> <VnLv :label="t('customer.summary.dueDay')" :value="entity.dueDay" /> diff --git a/src/pages/Ticket/Card/TicketEditMana.vue b/src/pages/Ticket/Card/TicketEditMana.vue index 266c82ccd..f8a72caf3 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 }); </script> @@ -59,17 +68,29 @@ defineExpose({ save }); > <div class="container"> <div class="header">Mana: {{ toCurrency(mana) }}</div> - <QSpinner v-if="!hasMana" color="primary" size="md" /> + + <QSpinner v-if="!usesMana.length" color="primary" /> + <div class="q-pa-md" v-else> <slot :popup="QPopupProxyRef" /> - <div v-if="usesMana" class="column q-gutter-y-sm q-mt-sm"> - <VnUsesMana :mana-code="manaCode" /> + + <div v-if="usesMana.length" class="column q-gutter-y-sm q-mt-sm"> + <QRadio + v-for="(item, index) in usesMana" + :key="index" + v-model="componentId" + :val="item.id" + :label="item.name" + dense + :dark="true" + class="q-mb-sm" + :data-cy="`componentOption-${item.id}`" + /> </div> + <div v-if="newPrice" class="column items-center q-mt-lg"> <span class="text-primary">{{ t('New price') }}</span> - <span class="text-subtitle1"> - {{ toCurrency($props.newPrice) }} - </span> + <span class="text-subtitle1">{{ toCurrency(newPrice) }}</span> </div> </div> @@ -77,7 +98,6 @@ defineExpose({ save }); <QBtn color="primary" class="no-border-radius" - dense style="width: 50%" @click="cancel()" > @@ -86,7 +106,6 @@ defineExpose({ save }); <QBtn color="primary" class="no-border-radius" - dense style="width: 50%" @click="save()" data-cy="saveManaBtn" @@ -116,8 +135,3 @@ defineExpose({ save }); min-width: 230px; } </style> - -<i18n> -es: - New price: Nuevo precio -</i18n> diff --git a/src/pages/Ticket/Card/TicketSale.vue b/src/pages/Ticket/Card/TicketSale.vue index e721e2d1c..421085142 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: [], @@ -187,7 +187,7 @@ const getRowUpdateInputEvents = (sale) => { }; const resetChanges = async () => { - arrayData.fetch({ append: false }); + await arrayData.fetch({ append: false }); tableRef.value.CrudModelRef.hasChanges = false; await tableRef.value.reload(); @@ -308,14 +308,15 @@ 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) => { try { - await axios.post(`Sales/${sale.id}/updatePrice`, { newPrice }); - sale.price = newPrice; - edit.value = { ...DEFAULT_EDIT }; + await axios.post(`Sales/${sale.id}/updatePrice`, { + newPrice: newPrice, + componentId: componentId.value, + }); notify('globals.dataSaved', 'positive'); resetChanges(); } catch (e) { @@ -327,28 +328,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, - manaCode: manaCode.value, + newDiscount: newDiscount ?? 0, + componentId, }; await axios.post(`Tickets/${route.params.id}/updateDiscount`, params); notify('globals.dataSaved', 'positive'); @@ -821,10 +825,11 @@ watch( ref="editPriceProxyRef" :sale="row" :new-price="getNewPrice" + v-model:component-id="componentId" @save="changePrice" > <VnInput - @keyup.enter.stop="() => editManaProxyRef.save(row)" + @keyup.enter.stop="() => editPriceProxyRef.save(row)" v-model.number="edit.price" :label="t('basicData.price')" type="number" @@ -843,7 +848,7 @@ watch( ref="editManaProxyRef" :sale="row" :new-price="getNewPrice" - :mana-code="manaCode" + v-model:component-id="componentId" @save="changeDiscount" > <VnInput 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" > <VnInput autofocus diff --git a/src/router/modules/ticket.js b/src/router/modules/ticket.js index bfcb78787..d80997257 100644 --- a/src/router/modules/ticket.js +++ b/src/router/modules/ticket.js @@ -113,7 +113,7 @@ const ticketCard = { name: 'TicketExpedition', meta: { title: 'expedition', - icon: 'vn:package', + icon: 'view_in_ar', }, component: () => 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'), }, 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/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/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 @@ /// <reference types="cypress" /> 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 @@ /// <reference types="cypress" /> 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 @@ /// <reference types="cypress" /> 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 @@ /// <reference types="cypress" /> 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 8d67c8e3c..65b4c8629 100644 --- a/test/cypress/integration/item/itemSummary.spec.js +++ b/test/cypress/integration/item/itemSummary.spec.js @@ -1,7 +1,6 @@ /// <reference types="cypress" /> 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 @@ /// <reference types="cypress" /> 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 97735ca4b..83ecac122 100644 --- a/test/cypress/integration/route/routeExtendedList.spec.js +++ b/test/cypress/integration/route/routeExtendedList.spec.js @@ -75,7 +75,6 @@ describe.skip('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..309f8d023 100644 --- a/test/cypress/integration/route/routeList.spec.js +++ b/test/cypress/integration/route/routeList.spec.js @@ -26,8 +26,8 @@ describe('Route', () => { const summaryUrl = '/summary'; beforeEach(() => { - cy.viewport(1920, 1080); cy.login('developer'); + cy.viewport(1920, 1080); 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 @@ /// <reference types="cypress" /> 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 e18025319..302707601 100644 --- a/test/cypress/integration/ticket/ticketList.spec.js +++ b/test/cypress/integration/ticket/ticketList.spec.js @@ -2,7 +2,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 df1ff9137..f1bd48f61 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 3b237826e..dc408c3a1 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 f433f0d11..97b1135c6 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('#23', () => { beforeEach(() => { - cy.login('salesBoss'); + cy.login('claimManager'); 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-37"]').click(); + cy.waitForElement('[data-cy="Price_input"]'); cy.dataCy('Price_input').clear().type(price); cy.intercept('POST', /\/api\/Sales\/\d+\/updatePrice/).as('updatePrice'); @@ -33,6 +35,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-37"]').click(); cy.waitForElement('[data-cy="Disc_input"]'); cy.dataCy('Disc_input').clear().type(discount); cy.intercept('POST', /\/api\/Tickets\/\d+\/updateDiscount/).as( @@ -83,8 +86,7 @@ describe('TicketSale', () => { }); describe('#24 add claim', () => { beforeEach(() => { - cy.login('developer'); - cy.viewport(1920, 1080); + cy.login('salesPerson'); cy.visit('/#/ticket/24/sale'); }); @@ -102,8 +104,7 @@ describe('TicketSale', () => { }); describe('#31 free ticket', () => { beforeEach(() => { - cy.login('developer'); - cy.viewport(1920, 1080); + cy.login('claimManager'); cy.visit('/#/ticket/31/sale'); }); @@ -139,14 +140,15 @@ describe('TicketSale', () => { cy.dataCy('ticketSaleMoreActionsDropdown').should('be.disabled'); }); - it.only('should update discount when "Update discount" is clicked', () => { + it('should update discount when "Update discount" is clicked', () => { const discount = Number((Math.random() * 99 + 1).toFixed(2)); 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.intercept('POST', /\/api\/Tickets\/\d+\/updateDiscount/).as( @@ -191,8 +193,7 @@ describe('TicketSale', () => { }); describe('#32 transfer', () => { beforeEach(() => { - cy.login('developer'); - cy.viewport(1920, 1080); + cy.login('salesPerson'); 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`); });