const genTest = (type) => { describe(`${type.toUpperCase()} api - Table Row`, () => { const randVal = 'Test' + Date.now(); const updatedRandVal = 'Updated' + Date.now(); const name = 'Test' + Date.now(); before(() => { cy.waitForSpinners(); if (type === 'rest') { cy.openOrCreateRestProject({ new: true }); } else { cy.openOrCreateGqlProject({ new: true }); } cy.createTable(name) }); // delete table after(() => { cy.deleteTable(name) }); it('Add new row', () => { cy.get('.nc-add-new-row-btn').click(); cy.get('#data-table-form-Title > input').first().type(randVal); cy.contains('Save Row').filter('button').click() cy.get('td').contains(randVal).should('exist'); }) it('Update row', () => { cy.get('td').contains(randVal) .closest('tr') .find('.nc-row-expand-icon') .click(); cy.get('#data-table-form-Title > input').first().clear().type(updatedRandVal); cy.contains('Save Row').filter('button').click() cy.get('td').contains(updatedRandVal).should('exist'); cy.get('td').contains(randVal).should('not.exist'); }) it('Delete row', () => { cy.get('td').contains(updatedRandVal).rightclick() // delete row cy.getActiveMenu().find('.v-list-item:contains("Delete Row")').first().click() cy.wait(1000) cy.get('td').contains(randVal).should('not.exist'); }) }); } genTest('rest') genTest('graphql')