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 {
|
node {
|
||||||
stage('Setup') {
|
stage('Setup') {
|
||||||
env.NODE_ENV = BRANCH_ENV[env.BRANCH_NAME] ?: 'dev'
|
env.NODE_ENV = BRANCH_ENV[env.BRANCH_NAME] ?: 'dev'
|
||||||
|
|
||||||
PROTECTED_BRANCH = [
|
PROTECTED_BRANCH = [
|
||||||
'dev',
|
'dev',
|
||||||
'test',
|
'test',
|
||||||
'master',
|
'master',
|
||||||
'main',
|
'main',
|
||||||
'beta'
|
'beta'
|
||||||
].contains(env.BRANCH_NAME)
|
]
|
||||||
|
|
||||||
|
IS_PROTECTED_BRANCH = PROTECTED_BRANCH.contains(env.BRANCH_NAME)
|
||||||
IS_LATEST = ['master', 'main'].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 "NODE_NAME: ${env.NODE_NAME}"
|
||||||
echo "WORKSPACE: ${env.WORKSPACE}"
|
echo "WORKSPACE: ${env.WORKSPACE}"
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ node {
|
||||||
props.each {key, value -> echo "${key}: ${value}" }
|
props.each {key, value -> echo "${key}: ${value}" }
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PROTECTED_BRANCH) {
|
if (IS_PROTECTED_BRANCH) {
|
||||||
configFileProvider([
|
configFileProvider([
|
||||||
configFile(fileId: "salix-front.branch.${env.BRANCH_NAME}",
|
configFile(fileId: "salix-front.branch.${env.BRANCH_NAME}",
|
||||||
variable: 'BRANCH_PROPS_FILE')
|
variable: 'BRANCH_PROPS_FILE')
|
||||||
|
@ -63,7 +63,7 @@ pipeline {
|
||||||
stages {
|
stages {
|
||||||
stage('Version') {
|
stage('Version') {
|
||||||
when {
|
when {
|
||||||
expression { PROTECTED_BRANCH }
|
expression { IS_PROTECTED_BRANCH }
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
|
@ -84,7 +84,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
stage('Test') {
|
stage('Test') {
|
||||||
when {
|
when {
|
||||||
expression { !PROTECTED_BRANCH }
|
expression { !IS_PROTECTED_BRANCH }
|
||||||
}
|
}
|
||||||
environment {
|
environment {
|
||||||
NODE_ENV = ''
|
NODE_ENV = ''
|
||||||
|
@ -113,10 +113,11 @@ pipeline {
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
script {
|
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')
|
def image = docker.build('lilium-dev', '-f docs/Dockerfile.dev docs')
|
||||||
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") {
|
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') {
|
stage('Build') {
|
||||||
when {
|
when {
|
||||||
expression { PROTECTED_BRANCH }
|
expression { IS_PROTECTED_BRANCH }
|
||||||
}
|
}
|
||||||
environment {
|
environment {
|
||||||
CREDENTIALS = credentials('docker-registry')
|
|
||||||
VERSION = readFile 'VERSION.txt'
|
VERSION = readFile 'VERSION.txt'
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
|
@ -156,7 +156,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
stage('Deploy') {
|
stage('Deploy') {
|
||||||
when {
|
when {
|
||||||
expression { PROTECTED_BRANCH }
|
expression { IS_PROTECTED_BRANCH }
|
||||||
}
|
}
|
||||||
environment {
|
environment {
|
||||||
VERSION = readFile 'VERSION.txt'
|
VERSION = readFile 'VERSION.txt'
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
version: '3.7'
|
version: '3.7'
|
||||||
services:
|
services:
|
||||||
back:
|
back:
|
||||||
image: registry.verdnatura.es/salix-back:dev
|
image: 'registry.verdnatura.es/salix-back:${COMPOSE_TAG:-dev}'
|
||||||
volumes:
|
volumes:
|
||||||
- ./test/cypress/storage:/salix/storage
|
- ./test/cypress/storage:/salix/storage
|
||||||
- ./test/cypress/back/datasources.json:/salix/loopback/server/datasources.json
|
- ./test/cypress/back/datasources.json:/salix/loopback/server/datasources.json
|
||||||
|
@ -18,4 +18,4 @@ services:
|
||||||
- TZ
|
- TZ
|
||||||
dns_search: .
|
dns_search: .
|
||||||
db:
|
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();
|
cy.saveCard();
|
||||||
});
|
});
|
||||||
|
|
||||||
// TODO: #8112
|
it('should add and remove new line', () => {
|
||||||
xit('should add and remove new line', () => {
|
|
||||||
cy.wait(['@workers', '@workers']);
|
cy.wait(['@workers', '@workers']);
|
||||||
cy.addCard();
|
cy.addCard();
|
||||||
|
|
||||||
|
|
|
@ -8,10 +8,7 @@ describe('ClaimNotes', () => {
|
||||||
|
|
||||||
it('should add a new note', () => {
|
it('should add a new note', () => {
|
||||||
const message = 'This is a new message.';
|
const message = 'This is a new message.';
|
||||||
cy.get('.q-textarea')
|
cy.get('.q-textarea').should('not.be.disabled').type(message);
|
||||||
.should('be.visible')
|
|
||||||
.should('not.be.disabled')
|
|
||||||
.type(message);
|
|
||||||
|
|
||||||
cy.get(saveBtn).click();
|
cy.get(saveBtn).click();
|
||||||
cy.get(firstNote).should('have.text', message);
|
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', () => {
|
it('should open first image dialog change to second and close', () => {
|
||||||
cy.get(':nth-last-child(1) > .q-card').click();
|
cy.get(':nth-last-child(1) > .q-card').click();
|
||||||
cy.get('.q-carousel__slide > .q-img > .q-img__container > .q-img__image').should(
|
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-carousel__control > button').click();
|
||||||
|
|
||||||
cy.get(
|
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();
|
).click();
|
||||||
cy.get('.q-carousel__slide > .q-img > .q-img__container > .q-img__image').should(
|
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', () => {
|
it('should remove third and fourth file', () => {
|
||||||
cy.get(
|
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();
|
).click();
|
||||||
cy.get(
|
cy.get(
|
||||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block'
|
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block',
|
||||||
).click();
|
).click();
|
||||||
cy.get('.q-notification__message').should('have.text', 'Data deleted');
|
cy.get('.q-notification__message').should('have.text', 'Data deleted');
|
||||||
|
|
||||||
cy.get(
|
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();
|
).click();
|
||||||
cy.get(
|
cy.get(
|
||||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block'
|
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block',
|
||||||
).click();
|
).click();
|
||||||
cy.get('.q-notification__message').should('have.text', 'Data deleted');
|
cy.get('.q-notification__message').should('have.text', 'Data deleted');
|
||||||
});
|
});
|
||||||
|
|
|
@ -4,7 +4,6 @@ describe('Client consignee', () => {
|
||||||
cy.viewport(1280, 720);
|
cy.viewport(1280, 720);
|
||||||
cy.login('developer');
|
cy.login('developer');
|
||||||
cy.visit('#/customer/1107/address');
|
cy.visit('#/customer/1107/address');
|
||||||
cy.domContentLoad();
|
|
||||||
});
|
});
|
||||||
it('Should load layout', () => {
|
it('Should load layout', () => {
|
||||||
cy.get('.q-card').should('be.visible');
|
cy.get('.q-card').should('be.visible');
|
||||||
|
|
|
@ -4,7 +4,6 @@ describe('Client fiscal data', () => {
|
||||||
cy.viewport(1280, 720);
|
cy.viewport(1280, 720);
|
||||||
cy.login('developer');
|
cy.login('developer');
|
||||||
cy.visit('#/customer/1107/fiscal-data');
|
cy.visit('#/customer/1107/fiscal-data');
|
||||||
cy.domContentLoad();
|
|
||||||
});
|
});
|
||||||
it('Should change required value when change customer', () => {
|
it('Should change required value when change customer', () => {
|
||||||
cy.get('.q-card').should('be.visible');
|
cy.get('.q-card').should('be.visible');
|
||||||
|
|
|
@ -17,7 +17,7 @@ describe('InvoiceInList', () => {
|
||||||
cy.viewport(1920, 1080);
|
cy.viewport(1920, 1080);
|
||||||
cy.login('developer');
|
cy.login('developer');
|
||||||
cy.visit(`/#/invoice-in/list`);
|
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', () => {
|
it('should redirect on clicking a invoice', () => {
|
||||||
|
|
|
@ -11,7 +11,7 @@ describe('Handle Items FixedPrice', () => {
|
||||||
cy.visit('/#/item/fixed-price', { timeout: 5000 });
|
cy.visit('/#/item/fixed-price', { timeout: 5000 });
|
||||||
cy.waitForElement('.q-table');
|
cy.waitForElement('.q-table');
|
||||||
cy.get(
|
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();
|
).click();
|
||||||
});
|
});
|
||||||
it.skip('filter', function () {
|
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('.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(`${firstRow} > .text-right > .q-btn > .q-btn__content > .q-icon`).click();
|
||||||
cy.get(
|
cy.get(
|
||||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block'
|
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block',
|
||||||
).click();
|
).click();
|
||||||
cy.get('.q-notification__message').should('have.text', 'Data saved');
|
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(' .bg-header > :nth-child(1) > .q-checkbox > .q-checkbox__inner ').click();
|
||||||
cy.get('#subToolbar > .q-btn--flat').click();
|
cy.get('#subToolbar > .q-btn--flat').click();
|
||||||
cy.get(
|
cy.get(
|
||||||
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block'
|
'.q-card__actions > .q-btn--unelevated > .q-btn__content > .block',
|
||||||
).click();
|
).click();
|
||||||
cy.get('.q-notification__message').should('have.text', 'Data saved');
|
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-menu .q-item').contains('Anthurium').click();
|
||||||
cy.get('.q-virtual-scroll__content > :nth-child(4) > :nth-child(4)').click();
|
cy.get('.q-virtual-scroll__content > :nth-child(4) > :nth-child(4)').click();
|
||||||
});
|
});
|
||||||
|
|
||||||
// https://redmine.verdnatura.es/issues/8421
|
// https://redmine.verdnatura.es/issues/8421
|
||||||
it.skip('should create an item', () => {
|
it.skip('should create an item', () => {
|
||||||
const data = {
|
const data = {
|
||||||
|
@ -28,7 +29,7 @@ describe('Item list', () => {
|
||||||
cy.dataCy('FormModelPopup_save').click();
|
cy.dataCy('FormModelPopup_save').click();
|
||||||
cy.checkNotification('Data created');
|
cy.checkNotification('Data created');
|
||||||
cy.get(
|
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');
|
).should('be.visible');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -30,8 +30,6 @@ describe('Ticket descriptor', () => {
|
||||||
|
|
||||||
it('should set the weight of the ticket', () => {
|
it('should set the weight of the ticket', () => {
|
||||||
cy.visit('/#/ticket/10/summary');
|
cy.visit('/#/ticket/10/summary');
|
||||||
cy.intercept('GET', /\/api\/Tickets\/\d/).as('ticket');
|
|
||||||
cy.wait('@ticket');
|
|
||||||
cy.openActionsDescriptor();
|
cy.openActionsDescriptor();
|
||||||
cy.contains(listItem, setWeightOpt).click();
|
cy.contains(listItem, setWeightOpt).click();
|
||||||
cy.intercept('POST', /\/api\/Tickets\/\d+\/setWeight/).as('weight');
|
cy.intercept('POST', /\/api\/Tickets\/\d+\/setWeight/).as('weight');
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
/// <reference types="cypress" />
|
/// <reference types="cypress" />
|
||||||
// https://redmine.verdnatura.es/issues/8423
|
describe('Ticket expedtion', () => {
|
||||||
describe.skip('Ticket expedtion', () => {
|
|
||||||
const tableContent = '.q-table .q-virtual-scroll__content';
|
const tableContent = '.q-table .q-virtual-scroll__content';
|
||||||
const stateTd = 'td:nth-child(9)';
|
const stateTd = 'td:nth-child(9)';
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@ describe('VnInput Component', () => {
|
||||||
cy.login('developer');
|
cy.login('developer');
|
||||||
cy.viewport(1920, 1080);
|
cy.viewport(1920, 1080);
|
||||||
cy.visit('/#/supplier/1/fiscal-data');
|
cy.visit('/#/supplier/1/fiscal-data');
|
||||||
cy.domContentLoad();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should replace character at cursor position in insert mode', () => {
|
it('should replace character at cursor position in insert mode', () => {
|
||||||
|
@ -14,8 +13,7 @@ describe('VnInput Component', () => {
|
||||||
cy.dataCy('supplierFiscalDataAccount').type('{movetostart}');
|
cy.dataCy('supplierFiscalDataAccount').type('{movetostart}');
|
||||||
// Escribe un número y verifica que se reemplace correctamente
|
// Escribe un número y verifica que se reemplace correctamente
|
||||||
cy.dataCy('supplierFiscalDataAccount').type('999');
|
cy.dataCy('supplierFiscalDataAccount').type('999');
|
||||||
cy.dataCy('supplierFiscalDataAccount')
|
cy.dataCy('supplierFiscalDataAccount').should('have.value', '9990000001');
|
||||||
.should('have.value', '9990000001');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should replace character at cursor position in insert mode', () => {
|
it('should replace character at cursor position in insert mode', () => {
|
||||||
|
@ -26,14 +24,12 @@ describe('VnInput Component', () => {
|
||||||
cy.dataCy('supplierFiscalDataAccount').type('{movetostart}');
|
cy.dataCy('supplierFiscalDataAccount').type('{movetostart}');
|
||||||
// Escribe un número y verifica que se reemplace correctamente en la posicion incial
|
// Escribe un número y verifica que se reemplace correctamente en la posicion incial
|
||||||
cy.dataCy('supplierFiscalDataAccount').type('999');
|
cy.dataCy('supplierFiscalDataAccount').type('999');
|
||||||
cy.dataCy('supplierFiscalDataAccount')
|
cy.dataCy('supplierFiscalDataAccount').should('have.value', '9990000001');
|
||||||
.should('have.value', '9990000001');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should respect maxlength prop', () => {
|
it('should respect maxlength prop', () => {
|
||||||
cy.dataCy('supplierFiscalDataAccount').clear();
|
cy.dataCy('supplierFiscalDataAccount').clear();
|
||||||
cy.dataCy('supplierFiscalDataAccount').type('123456789012345');
|
cy.dataCy('supplierFiscalDataAccount').type('123456789012345');
|
||||||
cy.dataCy('supplierFiscalDataAccount')
|
cy.dataCy('supplierFiscalDataAccount').should('have.value', '1234567890'); // asumiendo que maxlength es 10
|
||||||
.should('have.value', '1234567890'); // asumiendo que maxlength es 10
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -17,7 +17,6 @@ describe('VnLocation', () => {
|
||||||
cy.viewport(1280, 720);
|
cy.viewport(1280, 720);
|
||||||
cy.login('developer');
|
cy.login('developer');
|
||||||
cy.visit('/#/supplier/567/fiscal-data', { timeout: 7000 });
|
cy.visit('/#/supplier/567/fiscal-data', { timeout: 7000 });
|
||||||
cy.domContentLoad();
|
|
||||||
cy.get(createLocationButton).click();
|
cy.get(createLocationButton).click();
|
||||||
});
|
});
|
||||||
it('should filter provinces based on selected country', () => {
|
it('should filter provinces based on selected country', () => {
|
||||||
|
|
|
@ -18,6 +18,6 @@ describe('WagonCreate', () => {
|
||||||
).type('100');
|
).type('100');
|
||||||
cy.dataCy('Type_select').type('{downarrow}{enter}');
|
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', () => {
|
it('should throw an error if the name is empty', () => {
|
||||||
cy.intercept('GET', /\/api\/Zones\/4./).as('zone');
|
cy.get('[data-cy="zone-basic-data-name"] input').type('{selectall}{backspace}');
|
||||||
|
|
||||||
cy.wait('@zone').then(() => {
|
|
||||||
cy.get('[data-cy="zone-basic-data-name"] input').type(
|
|
||||||
'{selectall}{backspace}',
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
cy.get(saveBtn).click();
|
cy.get(saveBtn).click();
|
||||||
cy.checkNotification("can't be blank");
|
cy.checkNotification("can't be blank");
|
||||||
|
|
|
@ -35,7 +35,7 @@ Cypress.Commands.add('resetDB', () => {
|
||||||
cy.exec('pnpm run resetDatabase');
|
cy.exec('pnpm run resetDatabase');
|
||||||
});
|
});
|
||||||
|
|
||||||
Cypress.Commands.add('login', (user) => {
|
Cypress.Commands.add('login', (user = 'developer') => {
|
||||||
//cy.visit('/#/login');
|
//cy.visit('/#/login');
|
||||||
cy.request({
|
cy.request({
|
||||||
method: 'POST',
|
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.document().then((doc) => doc.readyState === 'complete'));
|
||||||
|
cy.waitUntil(() => cy.get('main').should('exist'));
|
||||||
});
|
});
|
||||||
|
|
||||||
Cypress.Commands.add('waitForElement', (element, timeout = 10000) => {
|
Cypress.Commands.add('waitForElement', (element, timeout = 10000) => {
|
||||||
|
|
Loading…
Reference in New Issue