console: update tests (#63)

* console: modify getTableName() for parallel tests

* console: remove notification tests

* console: fix failing tests
This commit is contained in:
Rishichandra Wawhal
2018-07-09 13:53:05 +05:30
committed by Praveen Durairaj
parent 25a45d3366
commit d8d3bdd239
8 changed files with 187 additions and 170 deletions

View File

@@ -23,7 +23,8 @@ export const typeDefaults = {
};
export const queryTypes = ['insert', 'select', 'update', 'delete'];
export const getColName = i => `apic_test_column_${i}`;
export const getTableName = i => `apic_test_table_${i}`;
export const getTableName = (i, testName = '') =>
`apic_test_table_${testName}_${i}`;
export const getElementFromAlias = alias => `[data-test=${alias}]`;
export const makeDataAPIUrl = dataApiUrl => `${dataApiUrl}/v1/query`;
export const makeDataAPIOptions = (dataApiUrl, key, body) => ({

View File

@@ -6,6 +6,8 @@ import {
} from '../../../helpers/dataHelpers';
import { setMetaData, validateCT } from '../../validators/validators';
const testName = 'ct';
export const checkCreateTableRoute = () => {
// Click on the create table button
cy.visit('/data/schema');
@@ -17,16 +19,16 @@ export const checkCreateTableRoute = () => {
export const failCTWithoutColumns = () => {
// Type table name
cy.get(getElementFromAlias('tableName')).type(getTableName(0));
cy.get(getElementFromAlias('tableName')).type(getTableName(0, testName));
// Click on create
cy.get(getElementFromAlias('table-create')).click();
// Check for an error
// cy.get('div').contains('Column name cannot be empty');
cy.get('.notification-error');
// cy.get('.notification-error');
// Check if the route didn't change
cy.url().should('eq', `${baseUrl}/data/schema/public/table/add`);
// Validate
validateCT(getTableName(0), 'failure');
validateCT(getTableName(0, testName), 'failure');
};
export const failCTWithoutPK = () => {
@@ -36,11 +38,11 @@ export const failCTWithoutPK = () => {
// Click on create
cy.get(getElementFromAlias('table-create')).click();
// Check for an error
cy.get('.notification-error');
// cy.get('.notification-error');
// Check if the route didn't change
cy.url().should('eq', `${baseUrl}/data/schema/public/table/add`);
// Validate
validateCT(getTableName(0), 'failure');
validateCT(getTableName(0, testName), 'failure');
};
export const failCTDuplicateColumns = () => {
@@ -60,7 +62,7 @@ export const failCTDuplicateColumns = () => {
// Check if the route didn't change
cy.url().should('eq', `${baseUrl}/data/schema/public/table/add`);
// Validate
validateCT(getTableName(0), 'failure');
validateCT(getTableName(0, testName), 'failure');
};
export const passCT = () => {
@@ -77,18 +79,18 @@ export const passCT = () => {
// Check if the table got created and navigatied to modify table
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
cy.get(getElementFromAlias(getTableName(0)));
cy.get(getElementFromAlias(getTableName(0, testName)));
// Validate
validateCT(getTableName(0), 'success');
validateCT(getTableName(0, testName), 'success');
};
export const failCTDuplicateTable = () => {
// Visit data page
cy.get(getElementFromAlias('sidebar-add-table')).click();
// Type table name
cy.get(getElementFromAlias('tableName')).type(getTableName(0));
cy.get(getElementFromAlias('tableName')).type(getTableName(0, testName));
// Set column
cy.get(getElementFromAlias('column-0')).type(getColName(1));
cy.get(getElementFromAlias('col-type-0')).select('serial');
@@ -98,12 +100,12 @@ export const failCTDuplicateTable = () => {
cy.get(getElementFromAlias('table-create')).click();
cy.wait(7000);
// Detect error
cy.get('.notification-error');
// cy.get('.notification-error');
};
export const deleteCTTestTable = () => {
// Go to the modify section of the table
cy.get(getElementFromAlias(`${getTableName(0)}`)).click();
cy.get(getElementFromAlias(`${getTableName(0, testName)}`)).click();
cy.get(getElementFromAlias('table-modify')).click();
// Click on delete
cy.get(getElementFromAlias('delete-table')).click();
@@ -116,7 +118,7 @@ export const deleteCTTestTable = () => {
// Match the URL
cy.url().should('eq', `${baseUrl}/data/schema/public`);
// Validate
validateCT(getTableName(0), 'failure');
validateCT(getTableName(0, testName), 'failure');
};
export const setValidationMetaData = () => {

View File

@@ -14,6 +14,7 @@ import {
} from '../../validators/validators';
const numOfDataTypes = dataTypes.length;
const testName = 'ib';
//* ******************** Util functions ************************
@@ -93,7 +94,7 @@ export const passBICreateTable = () => {
// Click create table button
cy.get(getElementFromAlias('data-create-table')).click();
// Type table name
cy.get(getElementFromAlias('tableName')).type(getTableName(0));
cy.get(getElementFromAlias('tableName')).type(getTableName(0, testName));
// Set columns with all fields
setColumns();
// Set primary key
@@ -101,17 +102,17 @@ export const passBICreateTable = () => {
// Click on create
cy.get(getElementFromAlias('table-create')).click();
cy.wait(7000);
validateCT(getTableName(0), 'success');
validateCT(getTableName(0, testName), 'success');
};
export const checkInsertRoute = () => {
// Click on Insert tab
cy.get(getElementFromAlias(getTableName(0))).click();
cy.get(getElementFromAlias(getTableName(0, testName))).click();
cy.get(getElementFromAlias('table-insert-rows')).click();
// Match URL
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/insert`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/insert`
);
};
@@ -129,12 +130,12 @@ export const failBIWrongDataType = () => {
// cy.get('[class=notification-title]')
// .contains('Insert failed')
// .click();
cy.get('.notification-error').click();
// cy.get('.notification-error').click();
// Check the default radio of curret column
cy.get(getElementFromAlias(`typed-input-default-${i}`)).check();
}
validateInsert(getTableName(0), 0);
validateInsert(getTableName(0, testName), 0);
}
};
@@ -164,7 +165,7 @@ export const passBIInsert20Rows = () => {
.substring(7)
);
cy.get(getElementFromAlias('insert-save-button')).click();
validateInsert(getTableName(0), i + 1);
validateInsert(getTableName(0, testName), i + 1);
}
// Wait for insert notifications to disappear
cy.wait(7000);
@@ -172,13 +173,13 @@ export const passBIInsert20Rows = () => {
export const checkBrowseRoute = () => {
// Click on Browse tab
cy.get(getElementFromAlias(getTableName(0))).click();
cy.get(getElementFromAlias(getTableName(0, testName))).click();
cy.get(getElementFromAlias('table-browse-rows')).click();
cy.wait(2000);
// Match URL
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/browse`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/browse`
);
};
@@ -272,7 +273,7 @@ export const deleteBITestTable = () => {
cy.wait(7000);
// Match the URL
cy.url().should('eq', `${baseUrl}/data/schema/public`);
validateCT(getTableName(0), 'failure');
validateCT(getTableName(0, testName), 'failure');
};
export const failBINullKeys = () => {
@@ -289,10 +290,10 @@ export const failBINullKeys = () => {
// Click the Insert Again button.
cy.get(getElementFromAlias('insert-save-button')).click();
cy.get('.notification-error').click();
// cy.get('.notification-error').click();
// Wait for insert notifications to disappear
cy.wait(7000);
validateInsert(getTableName(0), 20);
validateInsert(getTableName(0, testName), 20);
};
export const failBIUniqueKeys = () => {
@@ -318,7 +319,7 @@ export const failBIUniqueKeys = () => {
cy.get(getElementFromAlias(`typed-input-default-${textIndex}`)).check();
validateInsert(getTableName(0), 21);
validateInsert(getTableName(0, testName), 21);
cy.wait(7000);
cy.get(getElementFromAlias(`typed-input-${textIndex}`))
.clear()
@@ -332,9 +333,9 @@ export const failBIUniqueKeys = () => {
.type('name');
cy.get(getElementFromAlias('insert-save-button')).click();
cy.get('.notification-error').click();
// cy.get('.notification-error').click();
cy.wait(7000);
validateInsert(getTableName(0), 21);
validateInsert(getTableName(0, testName), 21);
};
export const setValidationMetaData = () => {
setMetaData();
@@ -348,7 +349,7 @@ export const passEditButton = () => {
cy.wait(2000);
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/edit`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/edit`
);
const textIndex = dataTypes.indexOf('text');
cy.get(getElementFromAlias(`typed-input-${textIndex}`)).type(
@@ -357,7 +358,7 @@ export const passEditButton = () => {
cy.get(getElementFromAlias(`typed-input-${textIndex}`)).type('new-text');
cy.get(getElementFromAlias('save-button')).click();
// cy.get('h4').contains('Edited!', { timeout: 7000 });
cy.get('.notification-success');
// cy.get('.notification-error');
cy.wait(7000);
};
@@ -367,7 +368,7 @@ export const passCloneButton = () => {
cy.get(getElementFromAlias('row-clone-button-0')).click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/insert`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/insert`
);
};
@@ -378,6 +379,6 @@ export const passDeleteRow = () => {
cy.on('window:confirm', str => {
expect(str === 'Permanently delete this row?').to.be.true;
});
cy.get('.notification-success');
// cy.get('.notification-error');
cy.wait(14000);
};

View File

@@ -10,10 +10,12 @@ import {
validateColumn,
} from '../../validators/validators';
const testName = 'mod';
export const passMTCreateTable = () => {
cy.get(getElementFromAlias('data-create-table')).click();
cy.url().should('eq', `${baseUrl}/data/schema/public/table/add`);
cy.get(getElementFromAlias('tableName')).type(getTableName(0));
cy.get(getElementFromAlias('tableName')).type(getTableName(0, testName));
cy.get(getElementFromAlias('column-0')).type('id');
cy.get(getElementFromAlias('col-type-0')).select('Integer');
cy.get(getElementFromAlias('primary-key-select-0')).select('id');
@@ -21,10 +23,10 @@ export const passMTCreateTable = () => {
cy.wait(7000);
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
validateCT(getTableName(0), 'success');
validateCT(getTableName(0, testName), 'success');
};
export const makeid = () => {
@@ -44,38 +46,38 @@ export const passMTCheckRoute = () => {
// Match the URL
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
};
export const passMTMoveToTable = () => {
cy.get(getElementFromAlias(getTableName(0))).click();
cy.get(getElementFromAlias(getTableName(0, testName))).click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/browse`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/browse`
);
};
export const failMTWithoutColName = () => {
cy.get(getElementFromAlias('add-column-button')).click();
cy.get('.notification-error').click();
// cy.get('.notification-error').click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
validateColumn(getTableName(0), ['something'], 'failure');
validateColumn(getTableName(0, testName), ['something'], 'failure');
};
export const failMTWithoutColType = () => {
cy.get(getElementFromAlias('column-name')).type('something');
cy.get(getElementFromAlias('add-column-button')).click();
cy.get('.notification-error').click();
// cy.get('.notification-error').click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
validateColumn(getTableName(0), ['something'], 'failure');
validateColumn(getTableName(0, testName), ['something'], 'failure');
};
export const failMTDuplicateColumns = () => {
@@ -84,12 +86,12 @@ export const failMTDuplicateColumns = () => {
cy.get(getElementFromAlias('data-type')).select('integer');
cy.get(getElementFromAlias('add-column-button')).click();
// Check for an alert
cy.wait(5500);
cy.get('.notification-error').click();
cy.wait(2500);
// cy.get('.notification-error').click();
// Check if the route didn't change
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
};
@@ -101,14 +103,14 @@ export const Addcolumn = () => {
cy.get(getElementFromAlias('default-value')).type('{selectall}{del}');
cy.get(getElementFromAlias('nullable-checkbox')).check();
cy.get(getElementFromAlias('add-column-button')).click();
cy.wait(5500);
cy.get('.notification-success').click();
cy.wait(2500);
// cy.get('.notification-success').click();
cy.wait(7000);
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
validateColumn(getTableName(0), [name], 'success');
validateColumn(getTableName(0, testName), [name], 'success');
};
export const Addcolumnnullable = () => {
@@ -117,13 +119,13 @@ export const Addcolumnnullable = () => {
cy.get(getElementFromAlias('data-type')).select('Text');
cy.get(getElementFromAlias('nullable-checkbox')).uncheck();
cy.get(getElementFromAlias('add-column-button')).click();
cy.wait(5500);
cy.get('.notification-error').click();
cy.wait(2500);
// cy.get('.notification-error').click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
validateColumn(getTableName(0), ['some'], 'failure');
validateColumn(getTableName(0, testName), ['some'], 'failure');
};
export const failMTWrongDefault = () => {
@@ -132,13 +134,13 @@ export const failMTWrongDefault = () => {
cy.get(getElementFromAlias('default-value')).type('some');
cy.get(getElementFromAlias('data-type')).select('Integer');
cy.get(getElementFromAlias('add-column-button')).click();
cy.wait(5500);
cy.get('.notification-error').click();
cy.wait(2500);
// cy.get('.notification-error').click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
validateColumn(getTableName(0), ['some'], 'failure');
validateColumn(getTableName(0, testName), ['some'], 'failure');
};
export const Addcolumnname = name => {
@@ -147,13 +149,13 @@ export const Addcolumnname = name => {
cy.get(getElementFromAlias('data-type')).select('integer');
cy.get(getElementFromAlias('add-column-button')).click();
cy.wait(5500);
cy.get('.notification-success').click();
cy.wait(5000);
// cy.get('.notification-success').click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
validateColumn(getTableName(0), [name], 'success');
validateColumn(getTableName(0, testName), [name], 'success');
};
export const passMTAddTwoCols = () => {
@@ -174,16 +176,16 @@ export const passMTChangeColType = () => {
.first()
.select('Text');
cy.get(getElementFromAlias('save-button')).click();
cy.wait(5500);
cy.get('.notification-success').click();
cy.wait(5000);
// cy.get('.notification-success').click();
cy.get('button')
.contains('Close')
.click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
validateColumn(getTableName(0), ['somes'], 'success');
validateColumn(getTableName(0, testName), ['somes'], 'success');
};
export const passMTDeleteCol = () => {
@@ -194,13 +196,13 @@ export const passMTDeleteCol = () => {
cy.on('window:alert', str => {
expect(str === 'Are you sure you want to delete?').to.be.true;
});
cy.wait(5500);
cy.get('.notification-success').click();
cy.wait(5000);
// cy.get('.notification-success').click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
validateColumn(getTableName(0), ['somes'], 'failure');
validateColumn(getTableName(0, testName), ['somes'], 'failure');
};
export const passMTDeleteTableCancel = () => {
@@ -208,10 +210,10 @@ export const passMTDeleteTableCancel = () => {
cy.on('window:confirm', () => false);
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
validateCT(getTableName(0), 'success');
validateCT(getTableName(0, testName), 'success');
};
export const passMTDeleteTable = () => {
@@ -219,7 +221,7 @@ export const passMTDeleteTable = () => {
cy.on('window:confirm', () => true);
cy.wait(5000);
cy.url().should('eq', `${baseUrl}/data/schema/public`);
validateCT(getTableName(0), 'failure');
validateCT(getTableName(0, testName), 'failure');
};
export const failMTRemoveNullable = () => {
@@ -242,7 +244,7 @@ export const setValidationMetaData = () => {
export const Createtable = (name, dict) => {
cy.url().should('eq', `${baseUrl}/data/schema/public/table/add`);
cy.get(getElementFromAlias('tableName')).type(`${name}_table`);
cy.get(getElementFromAlias('tableName')).type(`${name}_table_mod`);
const keys = Object.keys(dict).map(k => k);
const values = Object.keys(dict).map(k => dict[k]);
for (let i = 0; i < keys.length; i += 1) {
@@ -264,10 +266,10 @@ export const Createtable = (name, dict) => {
cy.wait(7000);
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${name}_table/modify`
`${baseUrl}/data/schema/public/tables/${name}_table_mod/modify`
);
validateCT(`${name}_table`, 'success');
validateCT(`${name}_table_mod`, 'success');
};
export const Createtables = () => {
@@ -285,20 +287,20 @@ export const Createtables = () => {
export const Createview = () => {
cy.get(getElementFromAlias('sql-link')).click();
cy.get('textarea').type(`CREATE VIEW author_average_rating AS
SELECT author_table.id, avg(article_table.rating)
From author_table, article_table
WHERE author_table.id = article_table.author_id
GROUP BY author_table.id`);
cy.get('textarea').type(`CREATE VIEW author_average_rating_mod AS
SELECT author_table_mod.id, avg(article_table.rating)
From author_table_mod, article_table_mod
WHERE author_table_mod.id = article_table_mod.author_id
GROUP BY author_table_mod.id`);
cy.get(getElementFromAlias('run-sql')).click();
validateCT('author_average_rating', 'success');
validateCT('author_average_rating_mod', 'success');
};
export const Checkviewtable = () => {
cy.get(getElementFromAlias('author_average_rating')).click();
cy.get(getElementFromAlias('author_average_rating_mod')).click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/views/author_average_rating/browse`
`${baseUrl}/data/schema/public/views/author_average_rating_mod/browse`
);
cy.get(getElementFromAlias('table-modify')).click();
cy.get(getElementFromAlias('modify-view')).click();
@@ -306,10 +308,10 @@ export const Checkviewtable = () => {
};
export const Checkviewtabledelete = () => {
cy.get(getElementFromAlias('author_average_rating')).click();
cy.get(getElementFromAlias('author_average_rating_mod')).click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/views/author_average_rating/browse`
`${baseUrl}/data/schema/public/views/author_average_rating_mod/browse`
);
cy.get(getElementFromAlias('table-modify')).click();
cy.get(getElementFromAlias('delete-view')).click();
@@ -319,7 +321,7 @@ export const Checkviewtabledelete = () => {
});
cy.wait(7000);
validateCT('author_average_rating', 'failure');
validateCT('author_average_rating_mod', 'failure');
};
export const Issue = () => {

View File

@@ -10,13 +10,15 @@ import { setMetaData } from '../../validators/validators';
import { testPermissions, permRemove, createView, trackView } from './utils';
const testName = 'perm';
export const passPTCreateTable = () => {
// Click on create tabel
cy.get(getElementFromAlias('data-create-table')).click();
// Match the URL
cy.url().should('eq', `${baseUrl}/data/schema/public/table/add`);
// Type table name
cy.get(getElementFromAlias('tableName')).type(getTableName(0));
cy.get(getElementFromAlias('tableName')).type(getTableName(0, testName));
// Set first column
cy.get(getElementFromAlias('column-0')).type(getColName(0));
cy.get(getElementFromAlias('col-type-0')).select('serial');
@@ -33,7 +35,7 @@ export const passPTCreateTable = () => {
cy.wait(7000);
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/modify`
`${baseUrl}/data/schema/public/tables/${getTableName(0, testName)}/modify`
);
};
@@ -43,7 +45,10 @@ export const passPTCheckRoute = () => {
// Match the URL
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${getTableName(0)}/permissions`
`${baseUrl}/data/schema/public/tables/${getTableName(
0,
testName
)}/permissions`
);
};
@@ -51,22 +56,22 @@ export const passPTNoChecks = () => {
// Type role
cy.get(getElementFromAlias('role-textbox')).type('role0');
// Set permissions
testPermissions(getTableName(0), 'none');
testPermissions(getTableName(0, testName), 'none');
};
export const passPTCustomChecks = () => {
testPermissions(getTableName(0), 'custom');
testPermissions(getTableName(0, testName), 'custom');
};
export const passPTRemovePerms = () => {
queryTypes.forEach(query => {
permRemove(getTableName(0), query);
permRemove(getTableName(0, testName), query);
});
};
export const passPVCreateView = () => {
// create a view
createView(getTableName(1), getTableName(0));
createView(getTableName(1, testName), getTableName(0, testName));
cy.wait(5000);
};
@@ -76,12 +81,12 @@ export const passPVPermissions = () => {
// Type role
cy.get(getElementFromAlias('role-textbox')).type('role0');
// Test permissions
testPermissions(getTableName(1), 'none', true);
testPermissions(getTableName(1), 'custom', true);
testPermissions(getTableName(1, testName), 'none', true);
testPermissions(getTableName(1, testName), 'custom', true);
};
export const passPVRemovePerms = () => {
permRemove(getTableName(1), 'select');
permRemove(getTableName(1, testName), 'select');
};
export const passPVDeleteView = () => {
@@ -94,7 +99,7 @@ export const passPVDeleteView = () => {
export const passPTDeleteTable = () => {
// Go to the table
cy.get(getElementFromAlias(getTableName(0))).click();
cy.get(getElementFromAlias(getTableName(0, testName))).click();
cy.wait(7000);
// Go to modify table
cy.get(getElementFromAlias('table-modify')).click();

View File

@@ -8,11 +8,13 @@ import {
import { validatePermission } from '../../validators/validators';
const testName = 'perm';
export const savePermission = () => {
cy.get(getElementFromAlias('Save-permissions-button')).click();
cy.wait(5500);
cy.wait(7000);
// Check for success notif
cy.get('.notification-success').click();
// cy.get('.notification-success').click();
};
export const permNoCheck = (tableName, query, first) => {
@@ -90,9 +92,9 @@ export const permRemove = (tableName, query) => {
cy.get(getElementFromAlias(`role0-${query}`)).click();
// Remove permission
cy.get(getElementFromAlias('Remove-all-access-button')).click();
cy.wait(5500);
cy.wait(2500);
// Check for notif
cy.get('.notification-success').click();
// cy.get('.notification-success').click();
cy.wait(5000);
// Validate
validatePermission(tableName, 'role0', query, 'custom', 'failure');
@@ -121,7 +123,9 @@ export const trackView = () => {
.contains('Data')
.click();
cy.wait(7000);
cy.get(getElementFromAlias(`add-track-table-${getTableName(1)}`)).click();
cy.get(
getElementFromAlias(`add-track-table-${getTableName(1, testName)}`)
).click();
cy.wait(10000);
// Move to permissions
cy.get(getElementFromAlias('table-permissions')).click();

View File

@@ -8,7 +8,7 @@ import {
export const Createtable = (name, dict) => {
cy.url().should('eq', `${baseUrl}/data/schema/public/table/add`);
cy.get(getElementFromAlias('tableName')).type(`${name}_table`);
cy.get(getElementFromAlias('tableName')).type(`${name}_table_rt`);
const keys = Object.keys(dict).map(k => k);
const values = Object.keys(dict).map(k => dict[k]);
for (let i = 0; i < keys.length; i += 1) {
@@ -21,10 +21,10 @@ export const Createtable = (name, dict) => {
cy.wait(10000);
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${name}_table/modify`
`${baseUrl}/data/schema/public/tables/${name}_table_rt/modify`
);
validateCT(`${name}_table`, 'success');
validateCT(`${name}_table_rt`, 'success');
};
export const passRTCreateTables = () => {
@@ -48,7 +48,7 @@ export const passRTCreateTables = () => {
};
export const passRTMoveToTable = () => {
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
};
@@ -64,13 +64,13 @@ export const Deletetable = name => {
};
export const passRTDeleteTables = () => {
Deletetable('comment_table');
Deletetable('article_table');
Deletetable('author_table');
Deletetable('comment_table_rt');
Deletetable('article_table_rt');
Deletetable('author_table_rt');
};
export const passRTAddDataarticle = data => {
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-insert-rows')).click();
cy.get('label')
.contains('id')
@@ -109,7 +109,7 @@ export const passRTAddDataarticle = data => {
};
export const passRTAddDataauthor = data => {
cy.get(getElementFromAlias('author_table')).click();
cy.get(getElementFromAlias('author_table_rt')).click();
cy.get(getElementFromAlias('table-insert-rows')).click();
cy.get('label')
.contains('id')
@@ -128,7 +128,7 @@ export const passRTAddDataauthor = data => {
};
export const passRTAddDatacomment = data => {
cy.get(getElementFromAlias('comment_table')).click();
cy.get(getElementFromAlias('comment_table_rt')).click();
cy.get(getElementFromAlias('table-insert-rows')).click();
cy.get('label')
.contains('id')
@@ -179,7 +179,7 @@ export const passRTAddData = () => {
};
export const passRTAddManualObjRel = () => {
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get(getElementFromAlias('add-manual-relationship')).click();
cy.get('select')
@@ -195,7 +195,7 @@ export const passRTAddManualObjRel = () => {
.find('option')
.contains('Remote Table')
.parent()
.select('author_table');
.select('author_table_rt');
cy.get('select')
.last()
.select('id');
@@ -205,14 +205,14 @@ export const passRTAddManualObjRel = () => {
.click();
cy.wait(7000);
validateColumn(
'article_table',
'article_table_rt',
['title', { name: 'author', columns: ['name'] }],
'success'
);
};
export const passRTAddManualArrayRel = () => {
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get(getElementFromAlias('add-manual-relationship')).click();
cy.get('select')
@@ -228,7 +228,7 @@ export const passRTAddManualArrayRel = () => {
.find('option')
.contains('Remote Table')
.parent()
.select('comment_table');
.select('comment_table_rt');
cy.get('select')
.last()
.select('article_id');
@@ -238,14 +238,14 @@ export const passRTAddManualArrayRel = () => {
.click();
cy.wait(7000);
validateColumn(
'article_table',
'article_table_rt',
['title', { name: 'comments', columns: ['comment'] }],
'success'
);
};
export const passRTAddForeignKey = () => {
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-modify')).click();
cy.get('b')
.contains('author_id')
@@ -256,7 +256,7 @@ export const passRTAddForeignKey = () => {
.find('option')
.contains('Reference table')
.parent()
.select('author_table');
.select('author_table_rt');
cy.get('select')
.find('option')
.contains('Reference column')
@@ -264,7 +264,7 @@ export const passRTAddForeignKey = () => {
.select('id');
cy.get(getElementFromAlias('save-button')).click();
cy.wait(7000);
cy.get(getElementFromAlias('comment_table')).click();
cy.get(getElementFromAlias('comment_table_rt')).click();
cy.get(getElementFromAlias('table-modify')).click();
cy.get('b')
.contains('article_id')
@@ -275,7 +275,7 @@ export const passRTAddForeignKey = () => {
.find('option')
.contains('Reference table')
.parent()
.select('article_table');
.select('article_table_rt');
cy.get('select')
.find('option')
.contains('Reference column')
@@ -286,7 +286,7 @@ export const passRTAddForeignKey = () => {
};
export const passRTDeleteRelationships = () => {
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get(getElementFromAlias('remove-button'))
.first()
@@ -296,11 +296,11 @@ export const passRTDeleteRelationships = () => {
});
cy.wait(7000);
validateColumn(
'article_table',
'article_table_rt',
['title', { name: 'author', columns: ['name'] }],
'failure'
);
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get(getElementFromAlias('remove-button'))
.first()
@@ -310,14 +310,14 @@ export const passRTDeleteRelationships = () => {
});
cy.wait(7000);
validateColumn(
'article_table',
'article_table_rt',
['title', { name: 'comments', columns: ['comment'] }],
'failure'
);
};
export const passRTAddSuggestedRel = () => {
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get(getElementFromAlias('obj-rel-add-0'))
.contains('Add')
@@ -329,11 +329,11 @@ export const passRTAddSuggestedRel = () => {
cy.get(getElementFromAlias('obj-rel-save-0')).click();
cy.wait(7000);
validateColumn(
'article_table',
'article_table_rt',
['title', { name: 'author', columns: ['name'] }],
'success'
);
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get(getElementFromAlias('arr-rel-add-0'))
.contains('Add')
@@ -345,21 +345,21 @@ export const passRTAddSuggestedRel = () => {
cy.get(getElementFromAlias('arr-rel-save-0')).click();
cy.wait(7000);
validateColumn(
'article_table',
'article_table_rt',
['title', { name: 'comments', columns: ['comment'] }],
'success'
);
};
export const failRTAddSuggestedRel = () => {
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get(getElementFromAlias('obj-rel-add-0'))
.contains('Add')
.last()
.click();
cy.get(getElementFromAlias('obj-rel-save-0')).click();
cy.get('.notification-error');
// cy.get('.notification-error');
cy.wait(7000);
cy.get('input')
.last()
@@ -367,14 +367,14 @@ export const failRTAddSuggestedRel = () => {
cy.get('button')
.contains('Save')
.click();
cy.get('.notification-error');
// cy.get('.notification-error');
cy.wait(10000);
validateColumn(
'article_table',
'article_table_rt',
['title', { name: 'author', columns: ['name'] }],
'failure'
);
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get(getElementFromAlias('obj-rel-add-0'))
.last()
@@ -385,11 +385,11 @@ export const failRTAddSuggestedRel = () => {
cy.get(getElementFromAlias('obj-rel-save-0')).click();
cy.wait(10000);
validateColumn(
'article_table',
'article_table_rt',
['title', { name: 'author', columns: ['name'] }],
'success'
);
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get(getElementFromAlias('arr-rel-add-0'))
.contains('Add')
@@ -402,9 +402,9 @@ export const failRTAddSuggestedRel = () => {
.contains('Save')
.click();
cy.wait(7000);
cy.get('.notification-error');
// cy.get('.notification-error');
cy.wait(7000);
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_rt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get(getElementFromAlias('remove-button'))
.first()

View File

@@ -12,7 +12,7 @@ const userId = 5555;
export const Createtable = (name, dict) => {
cy.url().should('eq', `${baseUrl}/data/schema/public/table/add`);
cy.get(getElementFromAlias('tableName')).type(`${name}_table`);
cy.get(getElementFromAlias('tableName')).type(`${name}_table_vt`);
const keys = Object.keys(dict).map(k => k);
const values = Object.keys(dict).map(k => dict[k]);
for (let i = 0; i < keys.length; i += 1) {
@@ -24,10 +24,10 @@ export const Createtable = (name, dict) => {
cy.wait(7000);
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/tables/${name}_table/modify`
`${baseUrl}/data/schema/public/tables/${name}_table_vt/modify`
);
validateCT(`${name}_table`, 'success');
validateCT(`${name}_table_vt`, 'success');
};
export const passVCreateTables = () => {
@@ -51,11 +51,11 @@ export const passVCreateTables = () => {
};
export const passVCreateViews = () => {
createView(`CREATE VIEW author_average_rating AS
SELECT author_table.id, avg(article_table.rating)
From author_table, article_table
WHERE author_table.id = article_table.author_id
GROUP BY author_table.id`);
createView(`CREATE VIEW author_average_rating_vt AS
SELECT author_table_vt.id, avg(article_table_vt.rating)
From author_table_vt, article_table_vt
WHERE author_table_vt.id = article_table_vt.author_id
GROUP BY author_table_vt.id`);
};
export const passTrackTable = () => {
@@ -64,17 +64,19 @@ export const passTrackTable = () => {
.last()
.click();
cy.wait(7000);
cy.get(getElementFromAlias('add-track-table-author_average_rating')).click();
cy.get(
getElementFromAlias('add-track-table-author_average_rating_vt')
).click();
cy.wait(7000);
cy.get('.notification-success');
validateView('author_average_rating', 'success');
// cy.get('.notification-error');
validateView('author_average_rating_vt', 'success');
};
export const passViewRoute = () => {
cy.get(getElementFromAlias('author_average_rating')).click();
cy.get(getElementFromAlias('author_average_rating_vt')).click();
cy.url().should(
'eq',
`${baseUrl}/data/schema/public/views/author_average_rating/browse`
`${baseUrl}/data/schema/public/views/author_average_rating_vt/browse`
);
};
@@ -249,7 +251,7 @@ const checkQuerySuccess = () => {
export const passVAddData = () => {
let data;
cy.get(getElementFromAlias('article_table')).click();
cy.get(getElementFromAlias('article_table_vt')).click();
cy.get(getElementFromAlias('table-insert-rows')).click();
data = [1, 'A', 'Sontent', userId, 4];
passVAddDataarticle(data, 0);
@@ -257,14 +259,14 @@ export const passVAddData = () => {
passVAddDataarticle(data, 1);
data = [3, 'C', 'Sontentb', userId, 4];
passVAddDataarticle(data, 2);
cy.get(getElementFromAlias('author_table')).click();
cy.get(getElementFromAlias('author_table_vt')).click();
cy.get(getElementFromAlias('table-insert-rows')).click();
data = [userId, 'A'];
passVAddDataauthor(data, 0);
data = [2, 'B'];
passVAddDataauthor(data, 1);
cy.get(getElementFromAlias('comment_table')).click();
cy.get(getElementFromAlias('comment_table_vt')).click();
cy.get(getElementFromAlias('table-insert-rows')).click();
data = [1, 1, 1, 'new comment'];
@@ -364,7 +366,7 @@ export const passModifyView = () => {
};
export const passVAddManualObjRel = () => {
cy.get(getElementFromAlias('author_average_rating')).click();
cy.get(getElementFromAlias('author_average_rating_vt')).click();
cy.wait(2000);
cy.get(getElementFromAlias('table-relationships')).click();
cy.wait(2000);
@@ -379,21 +381,21 @@ export const passVAddManualObjRel = () => {
.find('option')
.contains('Remote Table')
.parent()
.select('author_table');
.select('author_table_vt');
cy.get('select')
.last()
.select('id');
cy.get(getElementFromAlias('view-add-relationship')).click();
cy.wait(7000);
validateColumn(
'author_average_rating',
'author_average_rating_vt',
['avg', { name: 'author', columns: ['name'] }],
'success'
);
};
export const passVDeleteRelationships = () => {
cy.get(getElementFromAlias('author_average_rating')).click();
cy.get(getElementFromAlias('author_average_rating_vt')).click();
cy.get(getElementFromAlias('table-relationships')).click();
cy.get('button')
.contains('Remove')
@@ -402,9 +404,9 @@ export const passVDeleteRelationships = () => {
cy.on('window:alert', str => {
expect(str === 'Are you sure?').to.be.true;
});
cy.wait(5000);
cy.wait(7000);
validateColumn(
'author_average_rating',
'author_average_rating_vt',
['avg', { name: 'author', columns: ['name'] }],
'failure'
);
@@ -416,9 +418,9 @@ export const passVDeleteView = () => {
cy.on('window:confirm', str => {
expect(str === 'Are you sure').to.be.true;
});
cy.wait(5000);
cy.get('.notification-success');
validateView('author_average_rating', 'failure');
cy.wait(7000);
// cy.get('.notification-error');
validateView('author_average_rating_vt', 'failure');
};
export const Deletetable = name => {
@@ -434,9 +436,9 @@ export const Deletetable = name => {
};
export const passVDeleteTables = () => {
Deletetable('comment_table');
Deletetable('article_table');
Deletetable('author_table');
Deletetable('comment_table_vt');
Deletetable('article_table_vt');
Deletetable('author_table_vt');
};
// //////////////////////////////////////////////////////////////////////////////////////