Merge branch 'dev' of https: refs #8581//gitea.verdnatura.es/verdnatura/salix-front into 8581-invoiceinE2e
gitea/salix-front/pipeline/pr-dev This commit looks good
Details
gitea/salix-front/pipeline/pr-dev This commit looks good
Details
This commit is contained in:
commit
4e8c08f972
|
@ -12,18 +12,18 @@ def BRANCH_ENV = [
|
|||
node {
|
||||
stage('Setup') {
|
||||
env.NODE_ENV = BRANCH_ENV[env.BRANCH_NAME] ?: 'dev'
|
||||
|
||||
PROTECTED_BRANCH = [
|
||||
'dev',
|
||||
'test',
|
||||
'master',
|
||||
'main',
|
||||
'beta'
|
||||
].contains(env.BRANCH_NAME)
|
||||
]
|
||||
|
||||
IS_PROTECTED_BRANCH = PROTECTED_BRANCH.contains(env.BRANCH_NAME)
|
||||
IS_LATEST = ['master', 'main'].contains(env.BRANCH_NAME)
|
||||
|
||||
// https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables
|
||||
// https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables
|
||||
echo "NODE_NAME: ${env.NODE_NAME}"
|
||||
echo "WORKSPACE: ${env.WORKSPACE}"
|
||||
|
||||
|
@ -36,7 +36,7 @@ node {
|
|||
props.each {key, value -> echo "${key}: ${value}" }
|
||||
}
|
||||
|
||||
if (PROTECTED_BRANCH) {
|
||||
if (IS_PROTECTED_BRANCH) {
|
||||
configFileProvider([
|
||||
configFile(fileId: "salix-front.branch.${env.BRANCH_NAME}",
|
||||
variable: 'BRANCH_PROPS_FILE')
|
||||
|
@ -63,7 +63,7 @@ pipeline {
|
|||
stages {
|
||||
stage('Version') {
|
||||
when {
|
||||
expression { PROTECTED_BRANCH }
|
||||
expression { IS_PROTECTED_BRANCH }
|
||||
}
|
||||
steps {
|
||||
script {
|
||||
|
@ -84,7 +84,7 @@ pipeline {
|
|||
}
|
||||
stage('Test') {
|
||||
when {
|
||||
expression { !PROTECTED_BRANCH }
|
||||
expression { !IS_PROTECTED_BRANCH }
|
||||
}
|
||||
environment {
|
||||
NODE_ENV = ''
|
||||
|
@ -113,10 +113,11 @@ pipeline {
|
|||
}
|
||||
steps {
|
||||
script {
|
||||
env.COMPOSE_TAG = PROTECTED_BRANCH.contains(env.CHANGE_TARGET) ? env.CHANGE_TARGET : 'dev'
|
||||
def image = docker.build('lilium-dev', '-f docs/Dockerfile.dev docs')
|
||||
sh "docker-compose ${env.COMPOSE_PARAMS} up -d"
|
||||
image.inside("--network ${env.COMPOSE_PROJECT}_default -e CI -e TZ") {
|
||||
sh 'cypress run --browser chromium'
|
||||
sh 'cypress run --browser chromium || true'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -134,10 +135,9 @@ pipeline {
|
|||
}
|
||||
stage('Build') {
|
||||
when {
|
||||
expression { PROTECTED_BRANCH }
|
||||
expression { IS_PROTECTED_BRANCH }
|
||||
}
|
||||
environment {
|
||||
CREDENTIALS = credentials('docker-registry')
|
||||
VERSION = readFile 'VERSION.txt'
|
||||
}
|
||||
steps {
|
||||
|
@ -156,7 +156,7 @@ pipeline {
|
|||
}
|
||||
stage('Deploy') {
|
||||
when {
|
||||
expression { PROTECTED_BRANCH }
|
||||
expression { IS_PROTECTED_BRANCH }
|
||||
}
|
||||
environment {
|
||||
VERSION = readFile 'VERSION.txt'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
version: '3.7'
|
||||
services:
|
||||
back:
|
||||
image: registry.verdnatura.es/salix-back:dev
|
||||
image: 'registry.verdnatura.es/salix-back:${COMPOSE_TAG:-dev}'
|
||||
volumes:
|
||||
- ./test/cypress/storage:/salix/storage
|
||||
- ./test/cypress/back/datasources.json:/salix/loopback/server/datasources.json
|
||||
|
@ -18,4 +18,4 @@ services:
|
|||
- TZ
|
||||
dns_search: .
|
||||
db:
|
||||
image: registry.verdnatura.es/salix-db:dev
|
||||
image: 'registry.verdnatura.es/salix-db:${COMPOSE_TAG:-dev}'
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -17,7 +17,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', () => {
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -35,7 +35,7 @@ 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',
|
||||
|
@ -58,8 +58,10 @@ 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) => {
|
||||
|
|
Loading…
Reference in New Issue