2024-11-24 16:01:54 +00:00
|
|
|
const { randomNumber, randomString } = require('../../support');
|
|
|
|
|
2024-07-03 07:33:48 +00:00
|
|
|
describe('VnLocation', () => {
|
2024-07-29 13:03:21 +00:00
|
|
|
const locationOptions = '[role="listbox"] > div.q-virtual-scroll__content > .q-item';
|
2024-07-03 07:33:48 +00:00
|
|
|
const dialogInputs = '.q-dialog label input';
|
2024-07-29 13:03:21 +00:00
|
|
|
const createLocationButton = '.q-form > .q-card > .vn-row:nth-child(6) .--add-icon';
|
|
|
|
const inputLocation = '.q-form input[aria-label="Location"]';
|
2024-09-26 21:39:14 +00:00
|
|
|
const createForm = {
|
|
|
|
prefix: '.q-dialog__inner > .column > #formModel > .q-card',
|
|
|
|
sufix: ' .q-field__inner > .q-field__control',
|
|
|
|
};
|
2024-11-19 14:56:27 +00:00
|
|
|
const countrySelector = `${createForm.prefix} > :nth-child(5) > :nth-child(3) > ${createForm.sufix}`;
|
|
|
|
const provinceSelector = `${createForm.prefix} > :nth-child(5) > :nth-child(2) > ${createForm.sufix}`;
|
|
|
|
const citySelector = `${createForm.prefix} > :nth-child(4) > :nth-child(2) > ${createForm.sufix}`;
|
2024-09-26 21:39:14 +00:00
|
|
|
describe('CreateFormDialog ', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
cy.viewport(1280, 720);
|
|
|
|
cy.login('developer');
|
|
|
|
cy.visit('/#/supplier/567/fiscal-data', { timeout: 7000 });
|
2024-10-29 13:23:06 +00:00
|
|
|
cy.domContentLoad();
|
2024-09-26 21:39:14 +00:00
|
|
|
cy.get(createLocationButton).click();
|
|
|
|
});
|
2024-11-19 12:45:44 +00:00
|
|
|
it('should filter provinces based on selected country', () => {
|
2024-11-20 09:07:03 +00:00
|
|
|
const country = 'Ecuador';
|
|
|
|
cy.selectOption(countrySelector, country);
|
2024-11-19 14:56:27 +00:00
|
|
|
cy.get(countrySelector).should('have.length', 1);
|
|
|
|
cy.get(citySelector).should('have.length', 1);
|
2024-09-26 21:39:14 +00:00
|
|
|
});
|
|
|
|
|
2024-11-19 12:45:44 +00:00
|
|
|
it('should filter towns based on selected province', () => {
|
2024-11-20 09:07:03 +00:00
|
|
|
const country = 'Ecuador';
|
|
|
|
cy.selectOption(countrySelector, country);
|
2024-11-19 14:56:27 +00:00
|
|
|
cy.get(provinceSelector).should('have.length', 1);
|
|
|
|
cy.get(citySelector).should('have.length', 1);
|
2024-09-26 21:39:14 +00:00
|
|
|
});
|
2024-09-30 22:24:34 +00:00
|
|
|
it('should pass selected country', () => {
|
|
|
|
const country = 'Ecuador';
|
|
|
|
const province = 'Province five';
|
2024-11-19 14:56:27 +00:00
|
|
|
|
|
|
|
cy.selectOption(countrySelector, country);
|
2024-09-30 22:24:34 +00:00
|
|
|
cy.selectOption(
|
|
|
|
`${createForm.prefix} > :nth-child(4) > .q-select > ${createForm.sufix}`,
|
|
|
|
province
|
|
|
|
);
|
|
|
|
cy.get(
|
|
|
|
`${createForm.prefix} > :nth-child(4) > .q-select > ${createForm.sufix} > :nth-child(3) > .q-icon`
|
|
|
|
).click();
|
|
|
|
cy.get(
|
2024-10-08 11:07:05 +00:00
|
|
|
`#q-portal--dialog--5 > .q-dialog > ${createForm.prefix} > .vn-row > .q-select > ${createForm.sufix} > :nth-child(1) input`
|
2024-09-30 22:24:34 +00:00
|
|
|
).should('have.value', province);
|
|
|
|
});
|
2024-09-26 21:39:14 +00:00
|
|
|
});
|
2024-07-03 07:33:48 +00:00
|
|
|
describe('Worker Create', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
cy.viewport(1280, 720);
|
|
|
|
cy.login('developer');
|
|
|
|
cy.visit('/#/worker/create', { timeout: 5000 });
|
|
|
|
cy.waitForElement('.q-card');
|
2024-09-26 21:39:14 +00:00
|
|
|
cy.get(inputLocation).click();
|
2024-07-03 07:33:48 +00:00
|
|
|
});
|
|
|
|
it('Show all options', function () {
|
|
|
|
cy.get(locationOptions).should('have.length.at.least', 5);
|
|
|
|
});
|
|
|
|
it('input filter location as "al"', function () {
|
|
|
|
cy.get(inputLocation).clear();
|
|
|
|
cy.get(inputLocation).type('al');
|
2024-07-24 12:58:51 +00:00
|
|
|
cy.get(locationOptions).should('have.length.at.least', 4);
|
2024-07-03 07:33:48 +00:00
|
|
|
});
|
|
|
|
it('input filter location as "ecuador"', function () {
|
|
|
|
cy.get(inputLocation).clear();
|
|
|
|
cy.get(inputLocation).type('ecuador');
|
|
|
|
cy.get(locationOptions).should('have.length.at.least', 1);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
describe('Fiscal-data', () => {
|
|
|
|
beforeEach(() => {
|
|
|
|
cy.viewport(1280, 720);
|
|
|
|
cy.login('developer');
|
|
|
|
cy.visit('/#/supplier/567/fiscal-data', { timeout: 7000 });
|
|
|
|
cy.waitForElement('.q-form');
|
|
|
|
});
|
2024-09-23 11:41:30 +00:00
|
|
|
it('Find by postalCode', () => {
|
2024-09-13 08:32:40 +00:00
|
|
|
const postCode = '46600';
|
2024-09-23 11:41:30 +00:00
|
|
|
const postCodeLabel = '46600, Valencia(Province one), España';
|
2024-09-13 08:32:40 +00:00
|
|
|
const firstOption = '[role="listbox"] .q-item:nth-child(1)';
|
|
|
|
|
|
|
|
cy.get(inputLocation).click();
|
|
|
|
cy.get(inputLocation).clear();
|
|
|
|
cy.get(inputLocation).type(postCode);
|
2024-09-23 11:41:30 +00:00
|
|
|
cy.get(locationOptions)
|
|
|
|
.get(':nth-child(1)')
|
|
|
|
.should('have.length.at.least', 2);
|
|
|
|
cy.get(
|
|
|
|
firstOption.concat(' > .q-item__section > .q-item__label--caption')
|
|
|
|
).should('have.text', postCodeLabel);
|
2024-09-13 08:32:40 +00:00
|
|
|
cy.get(firstOption).click();
|
|
|
|
cy.get('.q-btn-group > .q-btn--standard > .q-btn__content > .q-icon').click();
|
|
|
|
cy.reload();
|
|
|
|
cy.waitForElement('.q-form');
|
2024-09-23 11:41:30 +00:00
|
|
|
cy.get(inputLocation).should('have.value', postCodeLabel);
|
2024-09-13 08:32:40 +00:00
|
|
|
});
|
|
|
|
|
2024-11-20 08:37:47 +00:00
|
|
|
it('Create postCode', () => {
|
2024-11-24 08:31:43 +00:00
|
|
|
const postCode = Math.floor(100000 + Math.random() * 900000);
|
2024-07-30 08:01:16 +00:00
|
|
|
const province = 'Valencia';
|
2024-09-13 08:32:40 +00:00
|
|
|
cy.get(createLocationButton).click();
|
2024-07-03 07:33:48 +00:00
|
|
|
cy.get('.q-card > h1').should('have.text', 'New postcode');
|
|
|
|
cy.selectOption(
|
2024-09-26 21:39:14 +00:00
|
|
|
`${createForm.prefix} > :nth-child(4) > .q-select > ${createForm.sufix}`,
|
2024-07-30 08:01:16 +00:00
|
|
|
province
|
2024-07-03 07:33:48 +00:00
|
|
|
);
|
2024-11-25 13:59:26 +00:00
|
|
|
cy.get(dialogInputs).eq(0).clear();
|
|
|
|
cy.get(dialogInputs).eq(0).type(postCode);
|
2024-07-03 07:33:48 +00:00
|
|
|
cy.get('.q-mt-lg > .q-btn--standard').click();
|
2024-09-26 21:39:14 +00:00
|
|
|
cy.get(`${createForm.prefix}`).should('not.exist');
|
2024-10-08 11:07:05 +00:00
|
|
|
cy.waitForElement('.q-form');
|
|
|
|
|
2024-07-30 08:01:16 +00:00
|
|
|
checkVnLocation(postCode, province);
|
2024-07-03 07:33:48 +00:00
|
|
|
});
|
2024-11-24 08:31:43 +00:00
|
|
|
|
2024-11-17 13:22:42 +00:00
|
|
|
it('Create city without country', () => {
|
2024-11-24 16:01:54 +00:00
|
|
|
const postCode = randomNumber();
|
|
|
|
const province = randomString({ length: 4 });
|
2024-09-13 08:32:40 +00:00
|
|
|
cy.get(createLocationButton).click();
|
2024-07-30 08:01:16 +00:00
|
|
|
cy.get(dialogInputs).eq(0).type(postCode);
|
|
|
|
cy.get(
|
2024-09-26 21:39:14 +00:00
|
|
|
`${createForm.prefix} > :nth-child(4) > .q-select > ${createForm.sufix} > :nth-child(2) > .q-icon`
|
2024-07-30 08:01:16 +00:00
|
|
|
).click();
|
2024-10-08 11:07:05 +00:00
|
|
|
cy.selectOption('#q-portal--dialog--3 .q-select', 'one');
|
|
|
|
cy.get('#q-portal--dialog--3 .q-input').type(province);
|
|
|
|
cy.get('#q-portal--dialog--3 .q-btn--standard').click();
|
2024-07-30 08:01:16 +00:00
|
|
|
cy.get('#q-portal--dialog--1 .q-btn--standard').click();
|
2024-10-08 11:07:05 +00:00
|
|
|
cy.waitForElement('.q-form');
|
2024-07-30 08:01:16 +00:00
|
|
|
checkVnLocation(postCode, province);
|
2024-07-03 07:33:48 +00:00
|
|
|
});
|
2024-07-30 08:01:16 +00:00
|
|
|
|
2024-11-17 13:22:42 +00:00
|
|
|
it('Create province without country', () => {
|
2024-11-17 11:57:35 +00:00
|
|
|
const provinceName = 'Saskatchew'.concat(Math.random(1 * 100));
|
|
|
|
cy.get(createLocationButton).click();
|
|
|
|
cy.get(
|
|
|
|
`${createForm.prefix} > :nth-child(5) > .q-select > ${createForm.sufix} > :nth-child(2) `
|
|
|
|
)
|
|
|
|
.eq(0)
|
|
|
|
.click();
|
|
|
|
cy.selectOption('#q-portal--dialog--3 .q-select', 'one');
|
|
|
|
cy.countSelectOptions('#q-portal--dialog--3 .q-select', 4);
|
|
|
|
cy.get('#q-portal--dialog--3 .q-input').type(provinceName);
|
|
|
|
|
|
|
|
cy.get('#q-portal--dialog--3 .q-btn--standard').click();
|
|
|
|
});
|
2024-11-24 08:31:43 +00:00
|
|
|
|
2024-11-17 13:22:42 +00:00
|
|
|
it('Create city with country', () => {
|
2024-11-17 11:57:35 +00:00
|
|
|
const cityName = 'Saskatchew'.concat(Math.random(1 * 100));
|
|
|
|
cy.get(createLocationButton).click();
|
|
|
|
cy.selectOption(
|
|
|
|
`${createForm.prefix} > :nth-child(5) > :nth-child(3) `,
|
|
|
|
'Italia'
|
|
|
|
);
|
|
|
|
cy.get(
|
|
|
|
`${createForm.prefix} > :nth-child(4) > .q-select > ${createForm.sufix} > :nth-child(2) > .q-icon`
|
|
|
|
).click();
|
|
|
|
cy.selectOption('#q-portal--dialog--4 .q-select', 'Province four');
|
|
|
|
cy.countSelectOptions('#q-portal--dialog--4 .q-select', 1);
|
|
|
|
|
|
|
|
cy.get('#q-portal--dialog--4 .q-input').type(cityName);
|
|
|
|
cy.get('#q-portal--dialog--4 .q-btn--standard').click();
|
|
|
|
});
|
2024-11-24 08:31:43 +00:00
|
|
|
|
2024-11-17 13:22:42 +00:00
|
|
|
it('Create province with country', () => {
|
2024-11-17 11:57:35 +00:00
|
|
|
const provinceName = 'Saskatchew'.concat(Math.random(1 * 100));
|
|
|
|
cy.get(createLocationButton).click();
|
|
|
|
cy.selectOption(
|
|
|
|
`${createForm.prefix} > :nth-child(5) > :nth-child(3) `,
|
|
|
|
'España'
|
|
|
|
);
|
|
|
|
cy.get(
|
|
|
|
`${createForm.prefix} > :nth-child(5) > .q-select > ${createForm.sufix} > :nth-child(2) `
|
|
|
|
)
|
|
|
|
.eq(0)
|
|
|
|
.click();
|
|
|
|
|
|
|
|
cy.selectOption('#q-portal--dialog--4 .q-select', 'one');
|
|
|
|
cy.countSelectOptions('#q-portal--dialog--4 .q-select', 2);
|
|
|
|
|
|
|
|
cy.get('#q-portal--dialog--4 .q-input').type(provinceName);
|
|
|
|
cy.get('#q-portal--dialog--4 .q-btn--standard').click();
|
|
|
|
});
|
2024-11-24 08:31:43 +00:00
|
|
|
|
2024-07-30 08:01:16 +00:00
|
|
|
function checkVnLocation(postCode, province) {
|
2024-09-26 21:39:14 +00:00
|
|
|
cy.get(`${createForm.prefix}`).should('not.exist');
|
2024-07-30 08:01:16 +00:00
|
|
|
cy.get('.q-form > .q-card > .vn-row:nth-child(6)')
|
|
|
|
.find('input')
|
|
|
|
.invoke('val')
|
|
|
|
.then((text) => {
|
|
|
|
expect(text).to.contain(postCode);
|
|
|
|
expect(text).to.contain(province);
|
|
|
|
});
|
|
|
|
}
|
2024-07-03 07:33:48 +00:00
|
|
|
});
|
|
|
|
});
|