Merge branch 'dev' into 8606-FixZoneModuleV2
gitea/salix-front/pipeline/pr-dev This commit looks good Details

This commit is contained in:
Jon Elias 2025-03-07 10:36:56 +00:00
commit ebc45eb698
4 changed files with 42 additions and 43 deletions

2
Jenkinsfile vendored
View File

@ -123,7 +123,7 @@ pipeline {
sh "docker-compose ${env.COMPOSE_PARAMS} up -d" sh "docker-compose ${env.COMPOSE_PARAMS} up -d"
image.inside("--network ${env.COMPOSE_PROJECT}_default -e CI -e TZ --init") { image.inside("--network ${env.COMPOSE_PROJECT}_default -e CI -e TZ --init") {
sh 'sh test/cypress/cypressParallel.sh 2' sh 'sh test/cypress/cypressParallel.sh 3'
} }
} }
} }

View File

@ -27,12 +27,16 @@ const getZone = async () => {
const filter = { const filter = {
where: { routeFk: $props.id ? $props.id : route.params.id }, where: { routeFk: $props.id ? $props.id : route.params.id },
}; };
const { data } = await axios.get('Tickets/findOne', { const { data } = await axios.get('Tickets/filter', {
params: { params: {
filter: JSON.stringify(filter), filter: JSON.stringify(filter),
}, },
}); });
zoneId.value = data.zoneFk;
if (!data.length) return;
const firstRecord = data[0];
zoneId.value = firstRecord.zoneFk;
const { data: zoneData } = await axios.get(`Zones/${zoneId.value}`); const { data: zoneData } = await axios.get(`Zones/${zoneId.value}`);
zone.value = zoneData.name; zone.value = zoneData.name;
}; };

View File

@ -1,5 +1,9 @@
/// <reference types="cypress" /> /// <reference types="cypress" />
describe('OrderList', () => { describe('OrderList', () => {
const clientCreateSelect = '#formModel [data-cy="Client_select"]';
const addressCreateSelect = '#formModel [data-cy="Address_select"]';
const agencyCreateSelect = '#formModel [data-cy="Agency_select"]';
beforeEach(() => { beforeEach(() => {
cy.login('developer'); cy.login('developer');
cy.viewport(1920, 1080); cy.viewport(1920, 1080);
@ -8,15 +12,14 @@ describe('OrderList', () => {
it('create order', () => { it('create order', () => {
cy.get('[data-cy="vnTableCreateBtn"]').click(); cy.get('[data-cy="vnTableCreateBtn"]').click();
cy.selectOption('[data-cy="Client_select"]', 1101); cy.selectOption(clientCreateSelect, 1101);
cy.get('[data-cy="Address_select"]').click(); cy.get(addressCreateSelect).click();
cy.get( cy.get(
'.q-menu > div> div.q-item:nth-child(1) >div.q-item__section--avatar > i', '.q-menu > div> div.q-item:nth-child(1) >div.q-item__section--avatar > i',
).should('have.text', 'star'); ).should('have.text', 'star');
cy.get('.q-menu > div> .q-item:nth-child(1)').click();
cy.dataCy('landedDate').find('input').type('06/01/2001'); cy.dataCy('landedDate').find('input').type('06/01/2001');
cy.get('.q-card [data-cy="Agency_select"]').click(); cy.selectOption(agencyCreateSelect, 1);
cy.get('.q-menu > div> .q-item:nth-child(1)').click();
cy.intercept('GET', /\/api\/Orders\/\d/).as('orderSale'); cy.intercept('GET', /\/api\/Orders\/\d/).as('orderSale');
cy.get('[data-cy="FormModelPopup_save"] > .q-btn__content > .block').click(); cy.get('[data-cy="FormModelPopup_save"] > .q-btn__content > .block').click();
cy.wait('@orderSale'); cy.wait('@orderSale');
@ -31,7 +34,7 @@ describe('OrderList', () => {
cy.dataCy('Customer ID_input').type('1101{enter}'); cy.dataCy('Customer ID_input').type('1101{enter}');
cy.dataCy('vnTableCreateBtn').click(); cy.dataCy('vnTableCreateBtn').click();
cy.dataCy('landedDate').find('input').type('06/01/2001'); cy.dataCy('landedDate').find('input').type('06/01/2001');
cy.get('.q-card [data-cy="Agency_select"]').click(); cy.get(agencyCreateSelect).click();
cy.get('.q-menu > div> .q-item:nth-child(1)').click(); cy.get('.q-menu > div> .q-item:nth-child(1)').click();
cy.intercept('GET', /\/api\/Orders\/\d/).as('orderSale'); cy.intercept('GET', /\/api\/Orders\/\d/).as('orderSale');
cy.get('[data-cy="FormModelPopup_save"] > .q-btn__content > .block').click(); cy.get('[data-cy="FormModelPopup_save"] > .q-btn__content > .block').click();
@ -53,10 +56,11 @@ describe('OrderList', () => {
`[href="#/order/list?createForm={%22clientFk%22:${clientId},%22addressId%22:1}"] > .q-btn__content > .q-icon`, `[href="#/order/list?createForm={%22clientFk%22:${clientId},%22addressId%22:1}"] > .q-btn__content > .q-icon`,
).click(); ).click();
cy.dataCy('vnTableCreateBtn').click(); cy.dataCy('vnTableCreateBtn').click();
cy.get('[data-cy="Client_select"]').should('have.value', 'Bruce Wayne');
cy.get('[data-cy="Address_select"]').should('have.value', 'Bruce Wayne'); cy.get(clientCreateSelect).should('have.value', 'Bruce Wayne');
cy.get(addressCreateSelect).should('have.value', 'Bruce Wayne');
cy.dataCy('landedDate').find('input').type('06/01/2001'); cy.dataCy('landedDate').find('input').type('06/01/2001');
cy.get('.q-card [data-cy="Agency_select"]').click(); cy.get(agencyCreateSelect).click();
cy.get('.q-menu > div> .q-item:nth-child(1)').click(); cy.get('.q-menu > div> .q-item:nth-child(1)').click();
cy.intercept('GET', /\/api\/Orders\/\d/).as('orderSale'); cy.intercept('GET', /\/api\/Orders\/\d/).as('orderSale');
cy.get('[data-cy="FormModelPopup_save"] > .q-btn__content > .block').click(); cy.get('[data-cy="FormModelPopup_save"] > .q-btn__content > .block').click();

View File

@ -1,4 +1,4 @@
describe.skip('Route extended list', () => { describe('Route extended list', () => {
const getSelector = (colField) => `tr:last-child > [data-col-field="${colField}"]`; const getSelector = (colField) => `tr:last-child > [data-col-field="${colField}"]`;
const selectors = { const selectors = {
@ -32,18 +32,18 @@ describe.skip('Route extended list', () => {
const originalFields = [ const originalFields = [
{ selector: selectors.worker, type: 'select', value: 'logistic' }, { selector: selectors.worker, type: 'select', value: 'logistic' },
{ selector: selectors.agency, type: 'select', value: 'Super-Man delivery' }, { selector: selectors.agency, type: 'select', value: 'inhouse pickup' },
{ selector: selectors.vehicle, type: 'select', value: '3333-IMK' }, { selector: selectors.vehicle, type: 'select', value: '3333-IMK' },
{ selector: selectors.date, type: 'date', value: '01/02/2024' }, { selector: selectors.date, type: 'date', value: '01/01/2001' },
{ selector: selectors.description, type: 'input', value: 'Test route' }, { selector: selectors.description, type: 'input', value: 'Test route' },
{ selector: selectors.served, type: 'checkbox', value: checkboxState.uncheck }, { selector: selectors.served, type: 'checkbox', value: checkboxState.uncheck },
]; ];
const updateFields = [ const updateFields = [
{ selector: selectors.worker, type: 'select', value: 'salesperson' }, { selector: selectors.worker, type: 'select', value: 'salesperson' },
{ selector: selectors.agency, type: 'select', value: 'inhouse pickup' }, { selector: selectors.agency, type: 'select', value: 'Super-Man delivery' },
{ selector: selectors.vehicle, type: 'select', value: '1111-IMK' }, { selector: selectors.vehicle, type: 'select', value: '1111-IMK' },
{ selector: selectors.date, type: 'date', value: '01/01/2001' }, { selector: selectors.date, type: 'date', value: '11/01/2001' },
{ selector: selectors.description, type: 'input', value: 'Description updated' }, { selector: selectors.description, type: 'input', value: 'Description updated' },
{ selector: selectors.served, type: 'checkbox', value: checkboxState.check }, { selector: selectors.served, type: 'checkbox', value: checkboxState.check },
]; ];
@ -57,11 +57,11 @@ describe.skip('Route extended list', () => {
break; break;
case 'input': case 'input':
cy.get(selector).should('be.visible').click(); cy.get(selector).should('be.visible').click();
cy.dataCy('null_input').clear().type(`${value}{enter}`); cy.dataCy('null_input').clear().type(`${value}`);
break; break;
case 'date': case 'date':
cy.get(selector).should('be.visible').click(); cy.get(selector).should('be.visible').click();
cy.dataCy('null_inputDate').clear().type(`${value}{enter}`); cy.dataCy('null_inputDate').clear().type(`${value}`);
break; break;
case 'checkbox': case 'checkbox':
cy.get(selector).should('be.visible').click().click(); cy.get(selector).should('be.visible').click().click();
@ -76,15 +76,6 @@ describe.skip('Route extended list', () => {
cy.typeSearchbar('{enter}'); cy.typeSearchbar('{enter}');
}); });
after(() => {
cy.visit(url);
cy.typeSearchbar('{enter}');
cy.get(selectors.lastRowSelectCheckBox).click();
cy.get(selectors.removeBtn).click();
cy.dataCy(selectors.confirmBtn).click();
});
it('Should list routes', () => { it('Should list routes', () => {
cy.get('.q-table') cy.get('.q-table')
.children() .children()
@ -97,9 +88,9 @@ describe.skip('Route extended list', () => {
const data = { const data = {
Worker: { val: 'logistic', type: 'select' }, Worker: { val: 'logistic', type: 'select' },
Agency: { val: 'Super-Man delivery', type: 'select' }, Agency: { val: 'inhouse pickup', type: 'select' },
Vehicle: { val: '3333-IMK', type: 'select' }, Vehicle: { val: '3333-IMK', type: 'select' },
Date: { val: '02-01-2024', type: 'date' }, Date: { val: '01-01-2001', type: 'date' },
From: { val: '01-01-2024', type: 'date' }, From: { val: '01-01-2024', type: 'date' },
To: { val: '10-01-2024', type: 'date' }, To: { val: '10-01-2024', type: 'date' },
'Km start': { val: 1000 }, 'Km start': { val: 1000 },
@ -129,7 +120,7 @@ describe.skip('Route extended list', () => {
it('Should clone selected route', () => { it('Should clone selected route', () => {
cy.get(selectors.lastRowSelectCheckBox).click(); cy.get(selectors.lastRowSelectCheckBox).click();
cy.get(selectors.cloneBtn).click(); cy.get(selectors.cloneBtn).click();
cy.dataCy('route.Starting date_inputDate').type('10-05-2001{enter}'); cy.dataCy('route.Starting date_inputDate').type('10-05-2001').click();
cy.get('.q-card__actions > .q-btn--standard > .q-btn__content').click(); cy.get('.q-card__actions > .q-btn--standard > .q-btn__content').click();
cy.validateContent(selectors.date, '05/10/2001'); cy.validateContent(selectors.date, '05/10/2001');
}); });
@ -142,10 +133,6 @@ describe.skip('Route extended list', () => {
const fileName = 'download.zip'; const fileName = 'download.zip';
cy.readFile(`${downloadsFolder}/${fileName}`).should('exist'); cy.readFile(`${downloadsFolder}/${fileName}`).should('exist');
cy.task('deleteFile', `${downloadsFolder}/${fileName}`).then((deleted) => {
expect(deleted).to.be.true;
});
}); });
it('Should mark as served the selected route', () => { it('Should mark as served the selected route', () => {
@ -165,6 +152,13 @@ describe.skip('Route extended list', () => {
cy.checkNotification(dataSaved); cy.checkNotification(dataSaved);
}); });
it('Should add ticket to route', () => {
cy.dataCy('tableAction-0').last().click();
cy.get(selectors.firstTicketsRowSelectCheckBox).click();
cy.get('.q-card__actions > .q-btn--standard > .q-btn__content').click();
cy.checkNotification(dataSaved);
});
it('Should save changes in route', () => { it('Should save changes in route', () => {
updateFields.forEach(({ selector, type, value }) => { updateFields.forEach(({ selector, type, value }) => {
fillField(selector, type, value); fillField(selector, type, value);
@ -175,18 +169,15 @@ describe.skip('Route extended list', () => {
cy.typeSearchbar('{enter}'); cy.typeSearchbar('{enter}');
updateFields.forEach(({ selector, value }) => { updateFields.forEach(({ selector, value, type }) => {
if (type === 'date') {
const [month, day, year] = value.split('/');
value = `${day}/${month}/${year}`;
}
cy.validateContent(selector, value); cy.validateContent(selector, value);
}); });
}); });
it('Should add ticket to route', () => {
cy.dataCy('tableAction-0').last().click();
cy.get(selectors.firstTicketsRowSelectCheckBox).click();
cy.get('.q-card__actions > .q-btn--standard > .q-btn__content').click();
cy.checkNotification(dataSaved);
});
it('Should open summary pop-up when click summuary icon', () => { it('Should open summary pop-up when click summuary icon', () => {
cy.dataCy('tableAction-1').last().click(); cy.dataCy('tableAction-1').last().click();
cy.get('.summaryHeader > :nth-child(2').should('contain', updateFields[4].value); cy.get('.summaryHeader > :nth-child(2').should('contain', updateFields[4].value);