mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-29 09:27:32 +00:00
* Added data-cy for table header and subheader * added data-cy for table operations * added data-cy for table and text * Added selectors and texts for database * Added method for table edit and delete operation * Added data-cy for delete icon and fields * Added method for table operation * Add workaround to handle re-rendering of filter * Updated and removed duplicate data-cy * fix toast failure * deleted unused files * Updated data-cy for filter section * updated spec * Fix failure * resolved conflicts --------- Co-authored-by: emidhun <[email protected]>
73 lines
3.1 KiB
JavaScript
73 lines
3.1 KiB
JavaScript
import { filterSelectors, sortSelectors } from "Selectors/database";
|
|
import { filterText, sortText } from "Texts/database";
|
|
import { navigateToDatabase } from "Support/utils/common";
|
|
import {
|
|
verifyAllElementsOfPage, createTableAndVerifyToastMessage, editTableNameAndVerifyToastMessage,
|
|
deleteTableAndVerifyToastMessage,
|
|
createNewColumnAndVerify,
|
|
navigateToTable,
|
|
addNewRowAndVerify,
|
|
filterOperation,
|
|
sortOperation,
|
|
deleteCondition,
|
|
deleteRowAndVerify
|
|
} from "Support/utils/database";
|
|
import { fake } from "Fixtures/fake";
|
|
import { randomNumber } from "Support/utils/commonWidget";
|
|
import { randomString } from "Support/utils/textInput";
|
|
|
|
describe("Database Functionality", () => {
|
|
const data = {};
|
|
data.tableName = fake.tableName;
|
|
data.newTableName = fake.tableName;
|
|
data.editTableName = fake.tableName;
|
|
data.maximumLength = randomNumber(8, 10);
|
|
data.dataType = ["varchar", "int", "float", "boolean"];
|
|
const columnDetails = () => {
|
|
let column = {
|
|
name: fake.firstName,
|
|
defaultValueDoublePrecision: Math.floor(Math.random() * (1000 - 100) + 100) / 100,
|
|
defaultValueInt: randomNumber(10, 99),
|
|
defaultValueVarchar: randomString(data.maximumLength)
|
|
};
|
|
return column;
|
|
};
|
|
let column1 = columnDetails();
|
|
let column2 = columnDetails();
|
|
let column3 = columnDetails();
|
|
let column4 = columnDetails();
|
|
|
|
let rowData = {
|
|
varcharData: randomString(data.maximumLength),
|
|
doublePrecisionData: Math.floor(Math.random() * (1000 - 100) + 100) / 100,
|
|
intData: randomNumber(10, 99),
|
|
};
|
|
|
|
beforeEach(() => {
|
|
cy.appUILogin();
|
|
});
|
|
it("Verify that all elements of the table page", () => {
|
|
navigateToDatabase();
|
|
verifyAllElementsOfPage();
|
|
createTableAndVerifyToastMessage(data.tableName, false);
|
|
createTableAndVerifyToastMessage(data.newTableName, true, [column1.name, column2.name], [data.dataType[0], data.dataType[1]], true, [column1.defaultValueVarchar, column1.defaultValueInt]);
|
|
});
|
|
it("Verify all operations of table", () => {
|
|
navigateToDatabase();
|
|
navigateToTable(data.tableName);
|
|
editTableNameAndVerifyToastMessage(data.newTableName, data.editTableName);
|
|
deleteTableAndVerifyToastMessage(data.editTableName);
|
|
createNewColumnAndVerify(data.tableName, column1.name, data.dataType[0], true, column1.defaultValueVarchar);
|
|
addNewRowAndVerify(data.tableName, false)
|
|
|
|
addNewRowAndVerify(data.tableName, false, [column1.name], true, [rowData.varcharData])
|
|
createNewColumnAndVerify(data.tableName, column2.name, data.dataType[1], false);
|
|
addNewRowAndVerify(data.tableName, false, [column1.name, column2.name], [rowData.varcharData, rowData.intData]);
|
|
addNewRowAndVerify(data.tableName, true, [column1.name, column2.name], [rowData.varcharData, rowData.intData]);
|
|
filterOperation(data.tableName, ["id"], [filterText.operation.greaterThan], ["2"]);
|
|
deleteCondition(filterSelectors.filterButton, ["id"], filterSelectors.deleteIcon)
|
|
sortOperation(data.tableName, ["id"], [sortText.order.descending])
|
|
deleteCondition(sortSelectors.sortButton, ["id"], sortSelectors.deleteIcon)
|
|
deleteRowAndVerify(data.tableName, ["1", "2"]);
|
|
});
|
|
});
|