#8600: Added and modified E2E #1447

Merged
jon merged 42 commits from 8600-CreateZoneE2E into dev 2025-03-06 11:16:39 +00:00
18 changed files with 214 additions and 46 deletions

View File

@ -56,7 +56,12 @@ async function confirm() {
{{ t('The notification will be sent to the following address') }} {{ t('The notification will be sent to the following address') }}
</QCardSection> </QCardSection>
<QCardSection class="q-pt-none"> <QCardSection class="q-pt-none">
<VnInput v-model="address" is-outlined autofocus /> <VnInput
v-model="address"
is-outlined
autofocus
data-cy="SendEmailNotifiactionDialogInput"
/>
</QCardSection> </QCardSection>
<QCardActions align="right"> <QCardActions align="right">
<QBtn :label="t('globals.cancel')" color="primary" flat v-close-popup /> <QBtn :label="t('globals.cancel')" color="primary" flat v-close-popup />

View File

@ -70,6 +70,7 @@ function ticketFilter(invoice) {
icon="vn:client" icon="vn:client"
color="primary" color="primary"
:to="{ name: 'CustomerCard', params: { id: entity.client.id } }" :to="{ name: 'CustomerCard', params: { id: entity.client.id } }"
data-cy="invoiceOutDescriptorCustomerCard"
> >
<QTooltip>{{ t('invoiceOut.card.customerCard') }}</QTooltip> <QTooltip>{{ t('invoiceOut.card.customerCard') }}</QTooltip>
</QBtn> </QBtn>
@ -81,6 +82,7 @@ function ticketFilter(invoice) {
name: 'TicketList', name: 'TicketList',
query: { table: ticketFilter(entity) }, query: { table: ticketFilter(entity) },
}" }"
data-cy="invoiceOutDescriptorTicketList"
> >
<QTooltip>{{ t('invoiceOut.card.ticketList') }}</QTooltip> <QTooltip>{{ t('invoiceOut.card.ticketList') }}</QTooltip>
</QBtn> </QBtn>

View File

@ -29,10 +29,10 @@ const setFilteredAddresses = (data) => {
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow> <VnRow>
<VnInput <VnInput
data-cy="zone-basic-data-name"
:label="t('Name')" :label="t('Name')"
clearable clearable
v-model="data.name" v-model="data.name"
data-cy="ZoneBasicDataName"
:required="true" :required="true"
/> />
</VnRow> </VnRow>
@ -75,7 +75,6 @@ const setFilteredAddresses = (data) => {
min="0" min="0"
/> />
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInput <VnInput
v-model="data.travelingDays" v-model="data.travelingDays"
@ -86,7 +85,6 @@ const setFilteredAddresses = (data) => {
/> />
<VnInputTime v-model="data.hour" :label="t('Closing')" :required="true" /> <VnInputTime v-model="data.hour" :label="t('Closing')" :required="true" />
</VnRow> </VnRow>
<VnRow> <VnRow>
<VnInput <VnInput
v-model="data.price" v-model="data.price"
@ -95,6 +93,7 @@ const setFilteredAddresses = (data) => {
min="0" min="0"
:required="true" :required="true"
clearable clearable
data-cy="ZoneBasicDataPrice"
/> />
<VnInput <VnInput
v-model="data.priceOptimum" v-model="data.priceOptimum"

View File

@ -36,13 +36,13 @@ function openConfirmDialog(callback) {
} }
</script> </script>
<template> <template>
<QItem @click="openConfirmDialog('remove')" v-ripple clickable> <QItem @click="openConfirmDialog('remove')" v-ripple clickable data-cy="Delete_button">
<QItemSection avatar> <QItemSection avatar>
<QIcon name="delete" /> <QIcon name="delete" />
</QItemSection> </QItemSection>
<QItemSection>{{ t('deleteZone') }}</QItemSection> <QItemSection>{{ t('deleteZone') }}</QItemSection>
</QItem> </QItem>
<QItem @click="openConfirmDialog('clone')" v-ripple clickable> <QItem @click="openConfirmDialog('clone')" v-ripple clickable data-cy="Clone_button">
<QItemSection avatar> <QItemSection avatar>
<QIcon name="content_copy" /> <QIcon name="content_copy" />
</QItemSection> </QItemSection>

View File

@ -58,7 +58,7 @@ const arrayData = useArrayData('ZoneEvents');
const createEvent = async () => { const createEvent = async () => {
eventInclusionFormData.value.weekDays = weekdayStore.toSet( eventInclusionFormData.value.weekDays = weekdayStore.toSet(
eventInclusionFormData.value.wdays eventInclusionFormData.value.wdays,
); );
if (inclusionType.value == 'day') eventInclusionFormData.value.weekDays = ''; if (inclusionType.value == 'day') eventInclusionFormData.value.weekDays = '';
@ -74,7 +74,7 @@ const createEvent = async () => {
else else
await axios.put( await axios.put(
`Zones/${route.params.id}/events/${props.event?.id}`, `Zones/${route.params.id}/events/${props.event?.id}`,
eventInclusionFormData.value eventInclusionFormData.value,
); );
await refetchEvents(); await refetchEvents();
@ -123,12 +123,14 @@ onMounted(() => {
dense dense
val="day" val="day"
:label="t('eventsInclusionForm.oneDay')" :label="t('eventsInclusionForm.oneDay')"
data-cy="ZoneEventInclusionDayRadio"
/> />
<QRadio <QRadio
v-model="inclusionType" v-model="inclusionType"
dense dense
val="indefinitely" val="indefinitely"
:label="t('eventsInclusionForm.indefinitely')" :label="t('eventsInclusionForm.indefinitely')"
data-cy="ZoneEventInclusionIndefinitelyRadio"
/> />
<QRadio <QRadio
v-model="inclusionType" v-model="inclusionType"
@ -136,6 +138,7 @@ onMounted(() => {
val="range" val="range"
:label="t('eventsInclusionForm.rangeOfDates')" :label="t('eventsInclusionForm.rangeOfDates')"
class="q-mb-sm" class="q-mb-sm"
data-cy="ZoneEventInclusionRangeRadio"
/> />
</div> </div>
<VnRow> <VnRow>
@ -156,10 +159,12 @@ onMounted(() => {
<VnInputDate <VnInputDate
:label="t('eventsInclusionForm.from')" :label="t('eventsInclusionForm.from')"
v-model="eventInclusionFormData.started" v-model="eventInclusionFormData.started"
data-cy="ZoneEventsFromDate"
/> />
<VnInputDate <VnInputDate
:label="t('eventsInclusionForm.to')" :label="t('eventsInclusionForm.to')"
v-model="eventInclusionFormData.ended" v-model="eventInclusionFormData.ended"
data-cy="ZoneEventsToDate"
/> />
</VnRow> </VnRow>
<VnRow> <VnRow>
@ -221,7 +226,7 @@ onMounted(() => {
openConfirmationModal( openConfirmationModal(
t('zone.deleteTitle'), t('zone.deleteTitle'),
t('zone.deleteSubtitle'), t('zone.deleteSubtitle'),
() => deleteEvent() () => deleteEvent(),
) )
" "
/> />

View File

@ -185,6 +185,7 @@ const handleDateClick = (timestamp) => {
:class="{ :class="{
'--today': isToday(timestamp), '--today': isToday(timestamp),
}" }"
data-cy="ZoneCalendarDay"
> >
<QPopupProxy v-if="isZoneDeliveryView"> <QPopupProxy v-if="isZoneDeliveryView">
<ZoneClosingTable <ZoneClosingTable

View File

@ -46,7 +46,7 @@ watch(
inq.value = { inq.value = {
deliveryMethodFk: { inq: deliveryMethods.value[deliveryMethodFk.value] }, deliveryMethodFk: { inq: deliveryMethods.value[deliveryMethodFk.value] },
}; };
} },
); );
</script> </script>
@ -98,6 +98,7 @@ watch(
outlined outlined
rounded rounded
map-key="geoFk" map-key="geoFk"
data-cy="ZoneDeliveryDaysPostcodeSelect"
> >
<template #option="{ itemProps, opt }"> <template #option="{ itemProps, opt }">
<QItem v-bind="itemProps"> <QItem v-bind="itemProps">
@ -129,6 +130,7 @@ watch(
dense dense
outlined outlined
rounded rounded
data-cy="ZoneDeliveryDaysAgencySelect"
/> />
<VnSelect <VnSelect
v-else v-else

View File

@ -16,6 +16,11 @@ describe.skip('InvoiceOut manual invoice', () => {
cy.checkNotification('Data saved'); cy.checkNotification('Data saved');
cy.get('.q-virtual-scroll__content > :nth-child(1) > :nth-child(3)').click(); cy.get('.q-virtual-scroll__content > :nth-child(1) > :nth-child(3)').click();
cy.get(':nth-child(8) > .value > .link').click(); cy.get(':nth-child(8) > .value > .link').click();
cy.get('.header > :nth-child(3) > .q-btn__content').click(); cy.get('.q-menu > .descriptor > .header').should('be.visible');
cy.get(
'.q-menu > .descriptor > .header > [data-cy="descriptor-more-opts"] > .q-btn__content',
).click();
cy.get('[data-cy="descriptor-more-opts-menu"] > .q-list > :nth-child(4)').click();
cy.dataCy('VnConfirm_confirm').click();
}); });
}); });

View File

@ -7,7 +7,6 @@ describe('InvoiceOut summary', () => {
const firstRowDescriptors = (opt) => const firstRowDescriptors = (opt) =>
`tbody > :nth-child(1) > :nth-child(${opt}) > .q-btn`; `tbody > :nth-child(1) > :nth-child(${opt}) > .q-btn`;
const toCustomerSummary = '[href="#/customer/1101"]';
const toTicketList = '[href="#/ticket/list?table={%22refFk%22:%22T1111111%22}"]'; const toTicketList = '[href="#/ticket/list?table={%22refFk%22:%22T1111111%22}"]';
const selectMenuOption = (opt) => `.q-menu > .q-list > :nth-child(${opt})`; const selectMenuOption = (opt) => `.q-menu > .q-list > :nth-child(${opt})`;
const confirmSend = '.q-btn--unelevated'; const confirmSend = '.q-btn--unelevated';
@ -25,8 +24,8 @@ describe('InvoiceOut summary', () => {
cy.get('.q-item > .q-item__label').should('include.text', '1101'); cy.get('.q-item > .q-item__label').should('include.text', '1101');
}); });
it('should open the client summary and the ticket list', () => { it('should open the client summary', () => {
cy.get(toCustomerSummary).click(); cy.dataCy('invoiceOutDescriptorCustomerCard').click();
cy.get('.descriptor').should('be.visible'); cy.get('.descriptor').should('be.visible');
cy.get('.q-item > .q-item__label').should('include.text', '1101'); cy.get('.q-item > .q-item__label').should('include.text', '1101');
}); });
@ -51,6 +50,7 @@ describe('InvoiceOut summary', () => {
cy.dataCy('descriptor-more-opts').click(); cy.dataCy('descriptor-more-opts').click();
cy.get(selectMenuOption(3)).click(); cy.get(selectMenuOption(3)).click();
cy.dataCy('InvoiceOutDescriptorMenuSendPdfOption').click(); cy.dataCy('InvoiceOutDescriptorMenuSendPdfOption').click();
cy.dataCy('SendEmailNotifiactionDialogInput').should('be.visible');
cy.get(confirmSend).click(); cy.get(confirmSend).click();
cy.checkNotification('Notification sent'); cy.checkNotification('Notification sent');
}); });
@ -59,18 +59,11 @@ describe('InvoiceOut summary', () => {
cy.dataCy('descriptor-more-opts').click(); cy.dataCy('descriptor-more-opts').click();
cy.get(selectMenuOption(3)).click(); cy.get(selectMenuOption(3)).click();
cy.dataCy('InvoiceOutDescriptorMenuSendCsvOption').click(); cy.dataCy('InvoiceOutDescriptorMenuSendCsvOption').click();
cy.dataCy('SendEmailNotifiactionDialogInput').should('be.visible');
cy.get(confirmSend).click(); cy.get(confirmSend).click();
cy.checkNotification('Notification sent'); cy.checkNotification('Notification sent');
}); });
it('should delete an invoice ', () => {
cy.typeSearchbar('T2222222{enter}');
Outdated
Review

Se quita?

Se quita?
Outdated
Review

Ahora se elimina la zona que se clona en el test ZoneSummary.spec.js para que no se vean alteradas otros test en caso de que utilicen la zona que se borraba en este test

Ahora se elimina la zona que se clona en el test ZoneSummary.spec.js para que no se vean alteradas otros test en caso de que utilicen la zona que se borraba en este test
cy.dataCy('descriptor-more-opts').click();
cy.get(selectMenuOption(4)).click();
cy.dataCy('VnConfirm_confirm').click();
cy.checkNotification('InvoiceOut deleted');
});
it('should book the invoice', () => { it('should book the invoice', () => {
cy.dataCy('descriptor-more-opts').click(); cy.dataCy('descriptor-more-opts').click();
cy.get(selectMenuOption(5)).click(); cy.get(selectMenuOption(5)).click();

View File

@ -27,7 +27,7 @@ describe('VnSearchBar', () => {
const searchAndCheck = (searchTerm, expectedText) => { const searchAndCheck = (searchTerm, expectedText) => {
cy.clearSearchbar(); cy.clearSearchbar();
cy.typeSearchbar(`${searchTerm}{enter}`); cy.typeSearchbar(`${searchTerm}{enter}`);
cy.get(idGap).should('have.text', expectedText); cy.get(idGap).should('include.text', expectedText);
}; };
const checkTableLength = (expectedLength) => { const checkTableLength = (expectedLength) => {

View File

@ -1,5 +1,5 @@
describe('ZoneBasicData', () => { describe('ZoneBasicData', () => {
const priceBasicData = '[data-cy="Price_input"]'; const priceBasicData = '[data-cy="ZoneBasicDataPrice"]';
const saveBtn = '.q-btn-group > .q-btn--standard'; const saveBtn = '.q-btn-group > .q-btn--standard';
beforeEach(() => { beforeEach(() => {
@ -8,20 +8,13 @@ describe('ZoneBasicData', () => {
cy.visit('/#/zone/4/basic-data'); cy.visit('/#/zone/4/basic-data');
}); });
it('should throw an error if the name is empty', () => {
cy.get('[data-cy="zone-basic-data-name"] input').type('{selectall}{backspace}');
cy.get(saveBtn).click();
cy.checkNotification("can't be blank");
});
it('should throw an error if the price is empty', () => { it('should throw an error if the price is empty', () => {
cy.get(priceBasicData).clear(); cy.get(priceBasicData).clear();
cy.get(saveBtn).click(); cy.get(saveBtn).click();
cy.checkNotification('cannot be blank'); cy.get('.q-field__messages > div').should('have.text', 'Field required');
}); });
it("should edit the basicData's zone", () => { it("should edit the basicData's zone name", () => {
cy.get('.q-card > :nth-child(1)').type(' modified'); cy.get('.q-card > :nth-child(1)').type(' modified');
cy.get(saveBtn).click(); cy.get(saveBtn).click();
cy.checkNotification('Data saved'); cy.checkNotification('Data saved');

View File

@ -0,0 +1,53 @@
describe('ZoneCalendar', () => {
const addEventBtn = '.q-page-sticky > div > .q-btn';
const submitBtn = '.q-mt-lg > .q-btn--standard';
const deleteBtn = '.q-item__section--side > .q-btn';
const from = '.q-field__control-container > [data-cy="ZoneEventsFromDate"]';
const to = '.q-field__control-container > [data-cy="ZoneEventsToDate"]';
beforeEach(() => {
cy.login('developer');
cy.viewport(1920, 1080);
cy.visit(`/#/zone/11/events`);
});
it('should include a one day event, then delete it', () => {
cy.get(addEventBtn).click();
cy.dataCy('ZoneEventInclusionDayRadio').click();
cy.get('.q-card > :nth-child(5)').type('02/04/2001');
cy.get(submitBtn).click();
cy.get(deleteBtn).click();
cy.dataCy('VnConfirm_confirm').click();
});
it('should include an indefinitely event for monday and tuesday', () => {
cy.get(addEventBtn).click();
cy.get('.flex > .q-gutter-x-sm > :nth-child(1)').click();
cy.get('.flex > .q-gutter-x-sm > :nth-child(2)').click();
cy.get(submitBtn).click();
cy.get(deleteBtn).click();
cy.dataCy('VnConfirm_confirm').click();
});
it('should include a range of dates event', () => {
cy.get(addEventBtn).click();
cy.dataCy('ZoneEventInclusionRangeRadio').click();
cy.get('.flex > .q-gutter-x-sm > :nth-child(1)').click();
cy.dataCy('From_inputDate').type('01/01/2001');
cy.dataCy('To_inputDate').type('31/01/2001');
cy.get(submitBtn).click();
cy.get(deleteBtn).click();
cy.dataCy('VnConfirm_confirm').click();
});
it('should exclude an event', () => {
cy.get('.q-mb-sm > .q-radio__inner').click();
cy.get('.q-current-day > .q-calendar-month__day--label__wrapper').click();
cy.get('.q-mt-lg > .q-btn--standard').click();
cy.get(
'.q-current-day > .q-calendar-month__day--content > [data-cy="ZoneCalendarDay"]',
).click();
cy.get('.q-mt-lg > :nth-child(2)').click();
cy.dataCy('VnConfirm_confirm').click();
});
});

View File

@ -1,15 +1,61 @@
describe('ZoneDeliveryDays', () => { describe('ZoneDeliveryDays', () => {
const postcode = '46680';
const agency = 'Gotham247Expensive';
const submitForm = '.q-form > .q-btn > .q-btn__content';
beforeEach(() => { beforeEach(() => {
cy.login('developer'); cy.login('developer');
cy.viewport(1920, 1080); cy.viewport(1920, 1080);
cy.visit(`/#/zone/delivery-days`); cy.visit(`/#/zone/delivery-days`);
}); });
it('should query for the day', () => { it('should return no data when querying without params', () => {
cy.get('.q-form > .q-btn > .q-btn__content').click(); cy.get('.q-form > .q-btn > .q-btn__content').click();
cy.get('.q-notification__message').should( cy.get('.q-notification__message').should(
'have.text', 'have.text',
'No service for the specified zone' 'No service for the specified zone',
); );
}); });
it('should query for delivery', () => {
cy.intercept('GET', /\/api\/Zones\/getEvents/, (req) => {
req.headers['cache-control'] = 'no-cache';
req.headers['pragma'] = 'no-cache';
req.headers['expires'] = '0';
req.on('response', (res) => {
delete res.headers['if-none-match'];
delete res.headers['if-modified-since'];
});
}).as('events');
cy.dataCy('ZoneDeliveryDaysPostcodeSelect').type(postcode);
cy.get('.q-menu .q-item').contains(postcode).click();
cy.get('.q-menu').then(($menu) => {
if ($menu.is(':visible')) {
cy.get('[data-cy="ZoneDeliveryDaysPostcodeSelect"]')
.as('focusedElement')
.focus();
cy.get('@focusedElement').blur();
}
});
cy.get('.q-menu').should('not.exist');
cy.dataCy('ZoneDeliveryDaysAgencySelect').type(agency);
cy.get('.q-menu .q-item').contains(agency).click();
cy.get('.q-menu').then(($menu) => {
if ($menu.is(':visible')) {
cy.get('[data-cy="ZoneDeliveryDaysAgencySelect"]')
.as('focusedElement')
.focus();
cy.get('@focusedElement').blur();
}
});
cy.get('.q-menu').should('not.exist');
cy.get(submitForm).click();
cy.wait('@events').then((interception) => {
cy.log('interception: ', interception);
const data = interception.response.body.events;
expect(data.length).to.be.greaterThan(0);
});
});
}); });

View File

@ -7,10 +7,6 @@ describe('ZoneList', () => {
}); });
it('should filter by agency', () => { it('should filter by agency', () => {
cy.dataCy('zoneFilterPanelNameInput').type('{downArrow}{enter}');
});
it('should open the zone summary', () => {
cy.dataCy('zoneFilterPanelAgencySelect').type(agency); cy.dataCy('zoneFilterPanelAgencySelect').type(agency);
cy.get('.q-menu .q-item').contains(agency).click(); cy.get('.q-menu .q-item').contains(agency).click();
cy.get(':nth-child(1) > [data-col-field="agencyModeFk"]').should( cy.get(':nth-child(1) > [data-col-field="agencyModeFk"]').should(
@ -18,4 +14,22 @@ describe('ZoneList', () => {
agency, agency,
); );
}); });
it('should open the zone summary', () => {
cy.dataCy('zoneFilterPanelAgencySelect').type(agency);
cy.get('.q-menu .q-item').contains(agency).click();
cy.dataCy('tableAction-0').eq(1).click();
cy.get('.header > .q-icon').click();
cy.url().should('include', 'zone/2/summary');
});
it('should clone the zone', () => {
cy.get('.router-link-active > .q-icon').click();
cy.dataCy('tableAction-1').eq(1).click();
cy.dataCy('VnConfirm_confirm').click();
cy.url().should('not.include', 'zone/2/');
cy.url().should('match', /zone\/\d+\/basic-data/);
cy.get('.list-box > :nth-child(1)').should('include.text', agency);
cy.get('.title > span').should('include.text', 'Zone pickup B');
});
}); });

View File

@ -0,0 +1,23 @@
describe('ZoneLocations', () => {
const data = {
Warehouse: { val: 'Warehouse One', type: 'select' },
};
const postalCode = '[style=""] > :nth-child(1) > :nth-child(1) > :nth-child(2) > :nth-child(1) > :nth-child(1) > :nth-child(2) > :nth-child(1) > .q-tree__node--parent > .q-tree__node-collapsible > .q-tree__children'
beforeEach(() => {
cy.viewport(1280, 720);
cy.login('developer');
cy.visit(`/#/zone/2/location`);
});
it('should show all locations on entry', () => {
cy.get('.q-tree > :nth-child(1) > :nth-child(2) > :nth-child(1)').children().should('have.length', 9);
});
it('should be able to search by postal code', () => {
cy.get('#searchbarForm').type('46680');
cy.get('.router-link-active > .q-icon').click();
cy.get(postalCode).should('include.text', '46680')
});
});

View File

@ -0,0 +1,22 @@
describe('ZoneSummary', () => {
const agency = 'inhouse pickup';
beforeEach(() => {
cy.viewport(1280, 720);
cy.login('developer');
cy.visit('/#/zone/2/summary');
});
it('should clone the zone, then delete it', () => {
cy.dataCy('descriptor-more-opts').click();
cy.dataCy('Clone_button').click();
cy.dataCy('VnConfirm_confirm').click();
cy.url().should('not.include', 'zone/2/');
cy.url().should('match', /zone\/\d+\/basic-data/);
cy.get('.list-box > :nth-child(1)').should('include.text', agency);
cy.get('.title > span').should('include.text', 'Zone pickup B');
cy.get('.q-page').should('exist');
cy.dataCy('descriptor-more-opts').click();
cy.dataCy('Delete_button').click();
cy.dataCy('VnConfirm_confirm').click();
});
});

View File

@ -1,9 +1,17 @@
describe('ZoneUpcomingDeliveries', () => { describe('ZoneUpcomingDeliveries', () => {
const tableFields = (opt) =>
`:nth-child(1) > .q-table__container > .q-table__middle > .q-table > thead > tr > :nth-child(${opt})`;
beforeEach(() => { beforeEach(() => {
cy.login('developer'); cy.login('developer');
cy.viewport(1920, 1080); cy.viewport(1920, 1080);
cy.visit(`/#/zone/upcoming-deliveries`); cy.visit(`/#/zone/upcoming-deliveries`);
}); });
it('should show the page', () => {}); it('should show the page', () => {
cy.get('.q-card').should('be.visible');
cy.get(tableFields(1)).should('be.visible').should('have.text', 'Province');
cy.get(tableFields(2)).should('be.visible').should('have.text', 'Closing');
cy.get(tableFields(3)).should('be.visible').should('have.text', 'Id');
});
}); });

View File

@ -1,20 +1,19 @@
describe.skip('ZoneWarehouse', () => { describe.skip('ZoneWarehouse', () => {
const data = { const data = {
Warehouse: { val: 'Warehouse One', type: 'select' }, Warehouse: { val: 'Warehouse Two', type: 'select' },
}; };
const dataError = 'The introduced warehouse already exists'; const dataError = 'The introduced warehouse already exists';
const saveBtn = '.q-btn--standard > .q-btn__content > .block'; const saveBtn = '.q-btn--standard > .q-btn__content > .block';
beforeEach(() => { beforeEach(() => {
cy.viewport(1280, 720); cy.viewport(1280, 720);
cy.login('developer'); cy.login('developer');
cy.visit(`/#/zone/2/warehouses`); cy.visit(`/#/zone/1/warehouses`);
}); });
it('should throw an error if the warehouse chosen is already put in the zone', () => { it('should throw an error if the warehouse chosen is already put in the zone', () => {
cy.addBtnClick(); cy.addBtnClick();
cy.dataCy('Warehouse_select').type('Warehouse Two{enter}'); cy.dataCy('Warehouse_select').type('Warehouse One{enter}');
cy.get(saveBtn).click(); cy.get(saveBtn).click();
cy.checkNotification(dataError); cy.checkNotification(dataError);
}); });
@ -26,7 +25,5 @@ describe.skip('ZoneWarehouse', () => {
cy.get('.q-mt-lg > .q-btn--standard').click(); cy.get('.q-mt-lg > .q-btn--standard').click();
cy.get('tbody > :nth-child(2) > :nth-child(2) > .q-icon').click(); cy.get('tbody > :nth-child(2) > :nth-child(2) > .q-icon').click();
cy.get('[title="Confirm"]').click(); cy.get('[title="Confirm"]').click();
cy.reload();
}); });
}); });