Merge branch 'dev' into 6802-Clientes-gestionados-por-equipos
This commit is contained in:
commit
15ac8c36c7
|
@ -225,7 +225,7 @@ const toModule = computed(() =>
|
|||
<div class="icons">
|
||||
<slot name="icons" :entity="entity" />
|
||||
</div>
|
||||
<div class="actions justify-center">
|
||||
<div class="actions justify-center" data-cy="descriptor_actions">
|
||||
<slot name="actions" :entity="entity" />
|
||||
</div>
|
||||
<slot name="after" />
|
||||
|
|
|
@ -783,7 +783,7 @@ worker:
|
|||
notes: Notas
|
||||
operator:
|
||||
numberOfWagons: Número de vagones
|
||||
train: tren
|
||||
train: Tren
|
||||
itemPackingType: Tipo de embalaje
|
||||
warehouse: Almacén
|
||||
sector: Sector
|
||||
|
|
|
@ -46,8 +46,18 @@ async function setAdvancedSummary(data) {
|
|||
>
|
||||
<template #form="{ data }">
|
||||
<VnRow>
|
||||
<VnInput :label="t('Name')" clearable v-model="data.firstName" />
|
||||
<VnInput :label="t('Last name')" clearable v-model="data.lastName" />
|
||||
<VnInput
|
||||
:label="t('Name')"
|
||||
clearable
|
||||
v-model="data.firstName"
|
||||
:required="true"
|
||||
/>
|
||||
<VnInput
|
||||
:label="t('Last name')"
|
||||
clearable
|
||||
v-model="data.lastName"
|
||||
:required="true"
|
||||
/>
|
||||
</VnRow>
|
||||
<VnRow>
|
||||
<VnInput v-model="data.phone" :label="t('Business phone')" clearable />
|
||||
|
|
|
@ -54,9 +54,8 @@ watch(
|
|||
selected.value = [];
|
||||
}
|
||||
},
|
||||
{ immediate: true, deep: true }
|
||||
{ immediate: true, deep: true },
|
||||
);
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -105,6 +104,7 @@ watch(
|
|||
:options="trainsData"
|
||||
hide-selected
|
||||
v-model="row.trainFk"
|
||||
:required="true"
|
||||
/>
|
||||
</VnRow>
|
||||
<VnRow>
|
||||
|
@ -115,12 +115,14 @@ watch(
|
|||
option-label="code"
|
||||
option-value="code"
|
||||
v-model="row.itemPackingTypeFk"
|
||||
:required="true"
|
||||
/>
|
||||
<VnSelect
|
||||
:label="t('worker.operator.warehouse')"
|
||||
:options="warehousesData"
|
||||
hide-selected
|
||||
v-model="row.warehouseFk"
|
||||
:required="true"
|
||||
/>
|
||||
</VnRow>
|
||||
<VnRow>
|
||||
|
@ -175,6 +177,7 @@ watch(
|
|||
:label="t('worker.operator.isOnReservationMode')"
|
||||
v-model="row.isOnReservationMode"
|
||||
lazy-rules
|
||||
:required="true"
|
||||
/>
|
||||
</VnRow>
|
||||
<VnRow>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
src/pages/Worker/Card/WorkerPBX.vue
|
||||
|
||||
<script setup>
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import FormModel from 'src/components/FormModel.vue';
|
||||
import VnInput from 'src/components/common/VnInput.vue';
|
||||
const { t } = useI18n();
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
@ -26,3 +26,8 @@ import VnInput from 'src/components/common/VnInput.vue';
|
|||
</template>
|
||||
</FormModel>
|
||||
</template>
|
||||
|
||||
<i18n>
|
||||
es:
|
||||
It must be a 4-digit number and must not end in 00: Debe ser un número de 4 cifras y no terminar en 00
|
||||
</i18n>
|
||||
|
|
|
@ -140,6 +140,7 @@ function reloadData() {
|
|||
id="deviceProductionFk"
|
||||
hide-selected
|
||||
data-cy="pda-dialog-select"
|
||||
:required="true"
|
||||
>
|
||||
<template #option="scope">
|
||||
<QItem v-bind="scope.itemProps">
|
||||
|
|
|
@ -1,16 +1,9 @@
|
|||
<script setup>
|
||||
import VnSection from 'src/components/common/VnSection.vue';
|
||||
import WorkerDepartmentTree from './WorkerDepartmentTree.vue';
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<VnSection data-key="WorkerDepartment" :search-bar="false">
|
||||
<template #body>
|
||||
<div class="flex flex-center q-pa-md">
|
||||
<WorkerDepartmentTree />
|
||||
</div>
|
||||
</template>
|
||||
</VnSection>
|
||||
<QPage class="q-pa-md flex justify-center"> <WorkerDepartmentTree /> </QPage>
|
||||
</template>
|
||||
|
||||
<i18n>
|
||||
|
|
|
@ -35,8 +35,7 @@ describe('ClaimDevelopment', () => {
|
|||
cy.saveCard();
|
||||
});
|
||||
|
||||
// TODO: #8112
|
||||
xit('should add and remove new line', () => {
|
||||
it('should add and remove new line', () => {
|
||||
cy.wait(['@workers', '@workers']);
|
||||
cy.addCard();
|
||||
|
||||
|
|
|
@ -8,10 +8,7 @@ describe('ClaimNotes', () => {
|
|||
|
||||
it('should add a new note', () => {
|
||||
const message = 'This is a new message.';
|
||||
cy.get('.q-textarea')
|
||||
.should('be.visible')
|
||||
.should('not.be.disabled')
|
||||
.type(message);
|
||||
cy.get('.q-textarea').should('not.be.disabled').type(message);
|
||||
|
||||
cy.get(saveBtn).click();
|
||||
cy.get(firstNote).should('have.text', message);
|
||||
|
|
|
@ -25,33 +25,33 @@ describe.skip('ClaimPhoto', () => {
|
|||
it('should open first image dialog change to second and close', () => {
|
||||
cy.get(':nth-last-child(1) > .q-card').click();
|
||||
cy.get('.q-carousel__slide > .q-img > .q-img__container > .q-img__image').should(
|
||||
'be.visible'
|
||||
'be.visible',
|
||||
);
|
||||
|
||||
cy.get('.q-carousel__control > button').click();
|
||||
|
||||
cy.get(
|
||||
'.q-dialog__inner > .q-toolbar > .q-btn > .q-btn__content > .q-icon'
|
||||
'.q-dialog__inner > .q-toolbar > .q-btn > .q-btn__content > .q-icon',
|
||||
).click();
|
||||
cy.get('.q-carousel__slide > .q-img > .q-img__container > .q-img__image').should(
|
||||
'not.be.visible'
|
||||
'not.be.visible',
|
||||
);
|
||||
});
|
||||
|
||||
it('should remove third and fourth file', () => {
|
||||
cy.get(
|
||||
'.multimediaParent > :nth-last-child(1) > .q-btn > .q-btn__content > .q-icon'
|
||||
'.multimediaParent > :nth-last-child(1) > .q-btn > .q-btn__content > .q-icon',
|
||||
).click();
|
||||
cy.get(
|
||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block'
|
||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block',
|
||||
).click();
|
||||
cy.get('.q-notification__message').should('have.text', 'Data deleted');
|
||||
|
||||
cy.get(
|
||||
'.multimediaParent > :nth-last-child(1) > .q-btn > .q-btn__content > .q-icon'
|
||||
'.multimediaParent > :nth-last-child(1) > .q-btn > .q-btn__content > .q-icon',
|
||||
).click();
|
||||
cy.get(
|
||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block'
|
||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block',
|
||||
).click();
|
||||
cy.get('.q-notification__message').should('have.text', 'Data deleted');
|
||||
});
|
||||
|
|
|
@ -4,7 +4,6 @@ describe('Client consignee', () => {
|
|||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit('#/customer/1107/address');
|
||||
cy.domContentLoad();
|
||||
});
|
||||
it('Should load layout', () => {
|
||||
cy.get('.q-card').should('be.visible');
|
||||
|
|
|
@ -4,7 +4,6 @@ describe('Client fiscal data', () => {
|
|||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit('#/customer/1107/fiscal-data');
|
||||
cy.domContentLoad();
|
||||
});
|
||||
it('Should change required value when change customer', () => {
|
||||
cy.get('.q-card').should('be.visible');
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
/// <reference types="cypress" />
|
||||
describe.skip('Client list', () => {
|
||||
describe('Client list', () => {
|
||||
beforeEach(() => {
|
||||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit('/#/customer/list', {
|
||||
timeout: 5000,
|
||||
|
@ -28,7 +27,7 @@ describe.skip('Client list', () => {
|
|||
Email: { val: `user.test${randomInt}@cypress.com` },
|
||||
Team: { val: 'Informatica', type: 'select' },
|
||||
Location: { val: '46000', type: 'select' },
|
||||
'Business type': { val: 'Otros', type: 'select' },
|
||||
'Business type': { val: 'others', type: 'select' },
|
||||
};
|
||||
cy.fillInForm(data);
|
||||
|
||||
|
@ -37,6 +36,7 @@ describe.skip('Client list', () => {
|
|||
cy.checkNotification('Data created');
|
||||
cy.url().should('include', '/summary');
|
||||
});
|
||||
|
||||
it('Client list search client', () => {
|
||||
const search = 'Jessica Jones';
|
||||
cy.searchByLabel('Name', search);
|
||||
|
@ -59,6 +59,7 @@ describe.skip('Client list', () => {
|
|||
cy.checkValueForm(1, search);
|
||||
cy.checkValueForm(2, search);
|
||||
});
|
||||
|
||||
it('Client founded create order', () => {
|
||||
const search = 'Jessica Jones';
|
||||
cy.searchByLabel('Name', search);
|
||||
|
|
|
@ -9,7 +9,7 @@ describe('InvoiceInList', () => {
|
|||
cy.viewport(1920, 1080);
|
||||
cy.login('developer');
|
||||
cy.visit(`/#/invoice-in/list`);
|
||||
cy.get('#searchbar input').should('be.visible').type('{enter}');
|
||||
cy.get('#searchbar input').type('{enter}');
|
||||
});
|
||||
|
||||
it('should redirect on clicking a invoice', () => {
|
||||
|
@ -21,7 +21,7 @@ describe('InvoiceInList', () => {
|
|||
cy.url().should('include', `/invoice-in/${id}/summary`);
|
||||
});
|
||||
});
|
||||
// https://redmine.verdnatura.es/issues/8420
|
||||
|
||||
it('should open the details', () => {
|
||||
cy.get(firstDetailBtn).click();
|
||||
cy.get(summaryHeaders).eq(1).contains('Basic data');
|
||||
|
|
|
@ -11,7 +11,7 @@ describe('Handle Items FixedPrice', () => {
|
|||
cy.visit('/#/item/fixed-price', { timeout: 5000 });
|
||||
cy.waitForElement('.q-table');
|
||||
cy.get(
|
||||
'.q-header > .q-toolbar > :nth-child(1) > .q-btn__content > .q-icon'
|
||||
'.q-header > .q-toolbar > :nth-child(1) > .q-btn__content > .q-icon',
|
||||
).click();
|
||||
});
|
||||
it.skip('filter', function () {
|
||||
|
@ -38,7 +38,7 @@ describe('Handle Items FixedPrice', () => {
|
|||
cy.get('.q-gutter-x-sm > .q-btn > .q-btn__content > .q-icon').click();
|
||||
cy.get(`${firstRow} > .text-right > .q-btn > .q-btn__content > .q-icon`).click();
|
||||
cy.get(
|
||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block'
|
||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block',
|
||||
).click();
|
||||
cy.get('.q-notification__message').should('have.text', 'Data saved');
|
||||
});
|
||||
|
@ -56,7 +56,7 @@ describe('Handle Items FixedPrice', () => {
|
|||
cy.get(' .bg-header > :nth-child(1) > .q-checkbox > .q-checkbox__inner ').click();
|
||||
cy.get('#subToolbar > .q-btn--flat').click();
|
||||
cy.get(
|
||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block'
|
||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block',
|
||||
).click();
|
||||
cy.get('.q-notification__message').should('have.text', 'Data saved');
|
||||
});
|
||||
|
|
|
@ -15,6 +15,7 @@ describe('Item list', () => {
|
|||
cy.get('.q-menu .q-item').contains('Anthurium').click();
|
||||
cy.get('.q-virtual-scroll__content > :nth-child(4) > :nth-child(4)').click();
|
||||
});
|
||||
|
||||
// https://redmine.verdnatura.es/issues/8421
|
||||
it.skip('should create an item', () => {
|
||||
const data = {
|
||||
|
@ -28,7 +29,7 @@ describe('Item list', () => {
|
|||
cy.dataCy('FormModelPopup_save').click();
|
||||
cy.checkNotification('Data created');
|
||||
cy.get(
|
||||
':nth-child(2) > .q-drawer > .q-drawer__content > .q-scrollarea > .q-scrollarea__container > .q-scrollarea__content'
|
||||
':nth-child(2) > .q-drawer > .q-drawer__content > .q-scrollarea > .q-scrollarea__container > .q-scrollarea__content',
|
||||
).should('be.visible');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -30,8 +30,6 @@ describe('Ticket descriptor', () => {
|
|||
|
||||
it('should set the weight of the ticket', () => {
|
||||
cy.visit('/#/ticket/10/summary');
|
||||
cy.intercept('GET', /\/api\/Tickets\/\d/).as('ticket');
|
||||
cy.wait('@ticket');
|
||||
cy.openActionsDescriptor();
|
||||
cy.contains(listItem, setWeightOpt).click();
|
||||
cy.intercept('POST', /\/api\/Tickets\/\d+\/setWeight/).as('weight');
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
/// <reference types="cypress" />
|
||||
// https://redmine.verdnatura.es/issues/8423
|
||||
describe.skip('Ticket expedtion', () => {
|
||||
describe('Ticket expedtion', () => {
|
||||
const tableContent = '.q-table .q-virtual-scroll__content';
|
||||
const stateTd = 'td:nth-child(9)';
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ describe('VnInput Component', () => {
|
|||
cy.login('developer');
|
||||
cy.viewport(1920, 1080);
|
||||
cy.visit('/#/supplier/1/fiscal-data');
|
||||
cy.domContentLoad();
|
||||
});
|
||||
|
||||
it('should replace character at cursor position in insert mode', () => {
|
||||
|
@ -14,8 +13,7 @@ describe('VnInput Component', () => {
|
|||
cy.dataCy('supplierFiscalDataAccount').type('{movetostart}');
|
||||
// Escribe un número y verifica que se reemplace correctamente
|
||||
cy.dataCy('supplierFiscalDataAccount').type('999');
|
||||
cy.dataCy('supplierFiscalDataAccount')
|
||||
.should('have.value', '9990000001');
|
||||
cy.dataCy('supplierFiscalDataAccount').should('have.value', '9990000001');
|
||||
});
|
||||
|
||||
it('should replace character at cursor position in insert mode', () => {
|
||||
|
@ -26,14 +24,12 @@ describe('VnInput Component', () => {
|
|||
cy.dataCy('supplierFiscalDataAccount').type('{movetostart}');
|
||||
// Escribe un número y verifica que se reemplace correctamente en la posicion incial
|
||||
cy.dataCy('supplierFiscalDataAccount').type('999');
|
||||
cy.dataCy('supplierFiscalDataAccount')
|
||||
.should('have.value', '9990000001');
|
||||
cy.dataCy('supplierFiscalDataAccount').should('have.value', '9990000001');
|
||||
});
|
||||
|
||||
it('should respect maxlength prop', () => {
|
||||
cy.dataCy('supplierFiscalDataAccount').clear();
|
||||
cy.dataCy('supplierFiscalDataAccount').type('123456789012345');
|
||||
cy.dataCy('supplierFiscalDataAccount')
|
||||
.should('have.value', '1234567890'); // asumiendo que maxlength es 10
|
||||
cy.dataCy('supplierFiscalDataAccount').should('have.value', '1234567890'); // asumiendo que maxlength es 10
|
||||
});
|
||||
});
|
||||
|
|
|
@ -17,7 +17,6 @@ describe('VnLocation', () => {
|
|||
cy.viewport(1280, 720);
|
||||
cy.login('developer');
|
||||
cy.visit('/#/supplier/567/fiscal-data', { timeout: 7000 });
|
||||
cy.domContentLoad();
|
||||
cy.get(createLocationButton).click();
|
||||
});
|
||||
it('should filter provinces based on selected country', () => {
|
||||
|
|
|
@ -18,6 +18,6 @@ describe('WagonCreate', () => {
|
|||
).type('100');
|
||||
cy.dataCy('Type_select').type('{downarrow}{enter}');
|
||||
|
||||
cy.get('[title="Remove"] > .q-btn__content > .q-icon').click();
|
||||
cy.get('[title="Remove"] > .q-btn__content > .q-icon').first().click();
|
||||
});
|
||||
});
|
||||
|
|
|
@ -9,13 +9,7 @@ describe('ZoneBasicData', () => {
|
|||
});
|
||||
|
||||
it('should throw an error if the name is empty', () => {
|
||||
cy.intercept('GET', /\/api\/Zones\/4./).as('zone');
|
||||
|
||||
cy.wait('@zone').then(() => {
|
||||
cy.get('[data-cy="zone-basic-data-name"] input').type(
|
||||
'{selectall}{backspace}',
|
||||
);
|
||||
});
|
||||
cy.get('[data-cy="zone-basic-data-name"] input').type('{selectall}{backspace}');
|
||||
|
||||
cy.get(saveBtn).click();
|
||||
cy.checkNotification("can't be blank");
|
||||
|
|
|
@ -33,7 +33,8 @@ Cypress.Commands.add('waitUntil', { prevSubject: 'optional' }, waitUntil);
|
|||
Cypress.Commands.add('resetDB', () => {
|
||||
cy.exec('pnpm run resetDatabase');
|
||||
});
|
||||
Cypress.Commands.add('login', (user) => {
|
||||
|
||||
Cypress.Commands.add('login', (user = 'developer') => {
|
||||
//cy.visit('/#/login');
|
||||
cy.request({
|
||||
method: 'POST',
|
||||
|
@ -56,9 +57,12 @@ Cypress.Commands.add('login', (user) => {
|
|||
});
|
||||
});
|
||||
|
||||
Cypress.Commands.add('domContentLoad', (element, timeout = 5000) => {
|
||||
Cypress.Commands.overwrite('visit', (originalFn, url, options) => {
|
||||
originalFn(url, options);
|
||||
cy.waitUntil(() => cy.document().then((doc) => doc.readyState === 'complete'));
|
||||
cy.waitUntil(() => cy.get('main').should('exist'));
|
||||
});
|
||||
|
||||
Cypress.Commands.add('waitForElement', (element, timeout = 10000) => {
|
||||
cy.get(element, { timeout }).should('be.visible').and('not.be.disabled');
|
||||
});
|
||||
|
@ -329,8 +333,13 @@ Cypress.Commands.add('openUserPanel', () => {
|
|||
Cypress.Commands.add('checkNotification', (text) => {
|
||||
cy.get('.q-notification', { timeout: 10000 })
|
||||
.should('be.visible')
|
||||
.filter((_, el) => Cypress.$(el).text().includes(text))
|
||||
.should('have.length.greaterThan', 0);
|
||||
.should('have.length.greaterThan', 0)
|
||||
.should(($elements) => {
|
||||
const found = $elements
|
||||
.toArray()
|
||||
.some((el) => Cypress.$(el).text().includes(text));
|
||||
expect(found).to.be.true;
|
||||
});
|
||||
});
|
||||
|
||||
Cypress.Commands.add('openActions', (row) => {
|
||||
|
@ -376,7 +385,13 @@ Cypress.Commands.add('clickButtonWith', (type, value) => {
|
|||
}
|
||||
});
|
||||
Cypress.Commands.add('clickButtonWithIcon', (iconClass) => {
|
||||
cy.get(`.q-icon.${iconClass}`).parent().click();
|
||||
cy.waitForElement('[data-cy="descriptor_actions"]');
|
||||
cy.get('[data-cy="loading-spinner"]', { timeout: 10000 }).should('not.be.visible');
|
||||
cy.get('.q-btn')
|
||||
.filter((index, el) => Cypress.$(el).find('.q-icon.' + iconClass).length > 0)
|
||||
.then(($btn) => {
|
||||
cy.wrap($btn).click();
|
||||
});
|
||||
});
|
||||
Cypress.Commands.add('clickButtonWithText', (buttonText) => {
|
||||
cy.get('.q-btn').contains(buttonText).click();
|
||||
|
|
Loading…
Reference in New Issue