Remove vagrant and add testing docker
This commit is contained in:
@@ -20,9 +20,14 @@ class IceCypressTest {
|
||||
cy.server().route('GET', `/${config.URL_PREFIX}/service.php*`).as('getElement');
|
||||
cy.get(`#${this.element} table tbody`).find('tr').first()
|
||||
.find(viewButtonSelector || `.center div img[${this.titleDataAttributeName}='View']`)
|
||||
.should("be.visible")
|
||||
.click();
|
||||
|
||||
cy.wait('@getElement').its('status').should('be', config.DEFAULT_WAIT_TIME);
|
||||
if (config.WAIT_ON_TIME) {
|
||||
cy.wait(config.WAIT_TIME);
|
||||
} else {
|
||||
cy.wait('@getElement').its('status').should('be', config.DEFAULT_STATUS);
|
||||
}
|
||||
}
|
||||
|
||||
viewElementValidate(cy, validation = []) {
|
||||
@@ -34,9 +39,14 @@ class IceCypressTest {
|
||||
editElement(cy, update, editButtonSelector = null) {
|
||||
cy.server().route('POST', `/${config.URL_PREFIX}/service.php*`).as('getElement');
|
||||
cy.get(`#${this.element} table tbody`).find('tr').first().find(editButtonSelector || `.center div img[${this.titleDataAttributeName}='Edit']`)
|
||||
.should("be.visible")
|
||||
.click();
|
||||
|
||||
cy.wait('@getElement').its('status').should('be', config.DEFAULT_WAIT_TIME);
|
||||
if (config.WAIT_ON_TIME) {
|
||||
cy.wait(config.WAIT_TIME);
|
||||
} else {
|
||||
cy.wait('@getElement').its('status').should('be', config.DEFAULT_STATUS);
|
||||
}
|
||||
|
||||
update.forEach((item) => {
|
||||
cy.get(item[0]).clear().type(item[1]).should('have.value', item[1]);
|
||||
@@ -44,14 +54,15 @@ class IceCypressTest {
|
||||
}
|
||||
|
||||
select2Click(id, value) {
|
||||
cy.get(`#s2id_${id}`).click();
|
||||
cy.get(`#s2id_${id}`).should("be.visible").click();
|
||||
cy.focused().clear().type(value).should('have.value', value);
|
||||
cy.get('.select2-drop:visible').find('.select2-results li').first()
|
||||
.should("be.visible")
|
||||
.click();
|
||||
}
|
||||
|
||||
clickSave(cy) {
|
||||
cy.get(`#${this.element}Form .saveBtn`).click();
|
||||
cy.get(`#${this.element}Form .saveBtn`).should("be.visible").click();
|
||||
}
|
||||
|
||||
editElementValidate(cy, validation = [], editButtonSelector) {
|
||||
@@ -62,14 +73,23 @@ class IceCypressTest {
|
||||
}
|
||||
|
||||
// Wait for data table response
|
||||
cy.wait('@getAfterSave').its('status').should('be', config.DEFAULT_WAIT_TIME);
|
||||
if (config.WAIT_ON_TIME) {
|
||||
cy.wait(config.WAIT_TIME);
|
||||
} else {
|
||||
cy.wait('@getAfterSave').its('status').should('be', config.DEFAULT_STATUS);
|
||||
}
|
||||
|
||||
cy.server().route('POST', `/${config.URL_PREFIX}/service.php*`).as('getElementAfterSave');
|
||||
// Click on edit and wait
|
||||
cy.get(`#${this.element} table tbody`).find('tr').first().find(editButtonSelector || `.center div img[${this.titleDataAttributeName}='Edit']`)
|
||||
.should("be.visible")
|
||||
.click();
|
||||
|
||||
cy.wait('@getElementAfterSave').its('status').should('be', config.DEFAULT_WAIT_TIME);
|
||||
if (config.WAIT_ON_TIME) {
|
||||
cy.wait(config.WAIT_TIME);
|
||||
} else {
|
||||
cy.wait('@getElementAfterSave').its('status').should('be', config.DEFAULT_STATUS);
|
||||
}
|
||||
|
||||
validation.forEach((item) => {
|
||||
cy.get(item[0]).then(element => expect(element.val()).eq(item[1]));
|
||||
@@ -95,7 +115,11 @@ class IceCypressTest {
|
||||
cy.visit(`${config.BASE_URL}?${this.moduleUrl}`);
|
||||
|
||||
// Wait for data table response
|
||||
cy.wait('@get').its('status').should('be', config.DEFAULT_WAIT_TIME);
|
||||
if (config.WAIT_ON_TIME) {
|
||||
cy.wait(config.WAIT_TIME);
|
||||
} else {
|
||||
cy.wait('@get').its('status').should('be', config.DEFAULT_STATUS);
|
||||
}
|
||||
}
|
||||
|
||||
switchTab(cy, tabName = null) {
|
||||
@@ -104,8 +128,12 @@ class IceCypressTest {
|
||||
} else {
|
||||
cy.server().route('POST', `/${config.URL_PREFIX}/service.php*`).as('getTab');
|
||||
}
|
||||
cy.get(tabName || `#tab${this.element}`).click();
|
||||
cy.wait('@getTab').its('status').should('be', config.DEFAULT_WAIT_TIME);
|
||||
cy.get(tabName || `#tab${this.element}`).should("be.visible").click();
|
||||
if (config.WAIT_ON_TIME) {
|
||||
cy.wait(config.WAIT_TIME);
|
||||
} else {
|
||||
cy.wait('@getTab').its('status').should('be', config.DEFAULT_STATUS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,12 +27,13 @@ const config = require('./config');
|
||||
// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... })
|
||||
|
||||
Cypress.Commands.add('login', (user, password) => {
|
||||
cy.visit(`${config.BASE_URL}login.php`);
|
||||
cy.visit(`${config.BASE_URL}logout.php`);
|
||||
cy.get('#username').type(user).should('have.value', user);
|
||||
cy.get('#password').type(password).should('have.value', password);
|
||||
cy.get('.btn').first().click();
|
||||
});
|
||||
|
||||
Cypress.Commands.add('resetDatabase', () => {
|
||||
cy.exec('vagrant ssh -c \'cd /vagrant/core/robo; php robo.phar reset:db test; php robo.phar create:tables test; php robo.phar migrate:all test; php robo.phar execute:fixtures test\'');
|
||||
cy.visit(`${config.BASE_URL}reset-db.php`);
|
||||
//cy.exec('vagrant ssh -c \'cd /vagrant/core/robo; php robo.phar reset:db test; php robo.phar create:tables test; php robo.phar migrate:all test; php robo.phar execute:fixtures test\'');
|
||||
});
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
const BASE_URL = 'http://clients.icehrmpro.test/test/';
|
||||
const BASE_URL = 'http://icehrm:8090/app/';
|
||||
//const BASE_URL = 'http://clients.icehrmpro.test/test/';
|
||||
|
||||
const DEFAULT_MAX_PAGE_SIZE = 15;
|
||||
const DEFAULT_WAIT_TIME = 500;
|
||||
const DEFAULT_STATUS = 200;
|
||||
const DEFAULT_USER_PASS = 'demouserpwd';
|
||||
const URL_PREFIX = 'test';
|
||||
const URL_PREFIX = 'app';
|
||||
const WAIT_ON_TIME = true;
|
||||
const WAIT_TIME = 500;
|
||||
|
||||
module.exports = {
|
||||
BASE_URL,
|
||||
DEFAULT_MAX_PAGE_SIZE,
|
||||
DEFAULT_WAIT_TIME,
|
||||
DEFAULT_STATUS,
|
||||
DEFAULT_USER_PASS,
|
||||
URL_PREFIX,
|
||||
WAIT_ON_TIME,
|
||||
WAIT_TIME,
|
||||
};
|
||||
|
||||
@@ -18,3 +18,9 @@ import './commands';
|
||||
|
||||
// Alternatively you can use CommonJS syntax:
|
||||
// require('./commands')
|
||||
|
||||
Cypress.on('uncaught:exception', (err, runnable) => {
|
||||
// returning false here prevents Cypress from
|
||||
// failing the test
|
||||
return false
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user