From d8d3bdd2397917a0ea8ff93ef039c8cd3ae557b2 Mon Sep 17 00:00:00 2001 From: Rishichandra Wawhal Date: Mon, 9 Jul 2018 13:53:05 +0530 Subject: [PATCH] console: update tests (#63) * console: modify getTableName() for parallel tests * console: remove notification tests * console: fix failing tests --- console/cypress/helpers/dataHelpers.js | 3 +- .../integration/data/create-table/spec.js | 28 +++-- .../integration/data/insert-browse/spec.js | 39 +++--- .../cypress/integration/data/modify/spec.js | 114 +++++++++--------- .../integration/data/permissions/spec.js | 27 +++-- .../integration/data/permissions/utils.js | 14 ++- .../integration/data/relationships/spec.js | 74 ++++++------ .../cypress/integration/data/views/spec.js | 58 ++++----- 8 files changed, 187 insertions(+), 170 deletions(-) diff --git a/console/cypress/helpers/dataHelpers.js b/console/cypress/helpers/dataHelpers.js index c15edf50..b53f0fd4 100644 --- a/console/cypress/helpers/dataHelpers.js +++ b/console/cypress/helpers/dataHelpers.js @@ -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) => ({ diff --git a/console/cypress/integration/data/create-table/spec.js b/console/cypress/integration/data/create-table/spec.js index f15f1b09..40e64123 100644 --- a/console/cypress/integration/data/create-table/spec.js +++ b/console/cypress/integration/data/create-table/spec.js @@ -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 = () => { diff --git a/console/cypress/integration/data/insert-browse/spec.js b/console/cypress/integration/data/insert-browse/spec.js index 71fb05fe..38ab2000 100644 --- a/console/cypress/integration/data/insert-browse/spec.js +++ b/console/cypress/integration/data/insert-browse/spec.js @@ -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); }; diff --git a/console/cypress/integration/data/modify/spec.js b/console/cypress/integration/data/modify/spec.js index ef87559c..a9752669 100644 --- a/console/cypress/integration/data/modify/spec.js +++ b/console/cypress/integration/data/modify/spec.js @@ -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 = () => { diff --git a/console/cypress/integration/data/permissions/spec.js b/console/cypress/integration/data/permissions/spec.js index 1a812194..45eac574 100644 --- a/console/cypress/integration/data/permissions/spec.js +++ b/console/cypress/integration/data/permissions/spec.js @@ -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(); diff --git a/console/cypress/integration/data/permissions/utils.js b/console/cypress/integration/data/permissions/utils.js index 9f697fa7..58163f04 100644 --- a/console/cypress/integration/data/permissions/utils.js +++ b/console/cypress/integration/data/permissions/utils.js @@ -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(); diff --git a/console/cypress/integration/data/relationships/spec.js b/console/cypress/integration/data/relationships/spec.js index 34530f4d..8ca88076 100644 --- a/console/cypress/integration/data/relationships/spec.js +++ b/console/cypress/integration/data/relationships/spec.js @@ -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() diff --git a/console/cypress/integration/data/views/spec.js b/console/cypress/integration/data/views/spec.js index 1845fd6e..7f9acc6a 100644 --- a/console/cypress/integration/data/views/spec.js +++ b/console/cypress/integration/data/views/spec.js @@ -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'); }; // //////////////////////////////////////////////////////////////////////////////////////