Browse Source

test(cypress): table delete

Signed-off-by: Pranav C <pranavxc@gmail.com>
pull/510/head
Pranav C 3 years ago
parent
commit
8d28052b54
  1. 4
      cypress.json
  2. 20
      cypress/integration/rest/create_table_spec.js
  3. 47
      cypress/integration/rest/table_operations_spec.js
  4. 6
      docker-compose-cypress.yml
  5. 1
      packages/nc-gui/components/project/spreadsheet/rowsXcDataTable.vue

4
cypress.json

@ -1,5 +1,7 @@
{
"baseUrl": "http://localhost:3000",
"defaultCommandTimeout": 10000,
"pageLoadTimeout": 600000
"pageLoadTimeout": 600000,
"viewportWidth": 1800,
"viewportHeight": 1000
}

20
cypress/integration/rest/create_table_spec.js

@ -1,20 +0,0 @@
describe('Rest api - New table', () => {
before(() => {
cy.waitForSpinners();
cy.openOrCreateRestProject();
})
it('Create Table', () => {
cy.get('.add-btn').click();
const name = 'Test' + Date.now();
cy.get('.nc-create-table-card .nc-table-name input[type="text"]').first().click().clear().type(name)
cy.get('.nc-create-table-card .nc-table-name-alias input[type="text"]').first().should('have.value', name.toLowerCase())
cy.wait(5000)
cy.get('.nc-create-table-card .nc-create-table-submit').first().click()
cy.get(`.project-tab:contains(${name})`).should('exist')
cy.url().should('contain', `?name=${name}&`)
});
})

47
cypress/integration/rest/table_operations_spec.js

@ -0,0 +1,47 @@
describe('Rest api - Table', () => {
const name = 'Test' + Date.now();
before(() => {
cy.waitForSpinners();
cy.openOrCreateRestProject();
})
it('Create Table', () => {
cy.get('.add-btn').click();
cy.get('.nc-create-table-card .nc-table-name input[type="text"]').first().click().clear().type(name)
cy.get('.nc-create-table-card .nc-table-name-alias input[type="text"]').first().should('have.value', name.toLowerCase())
cy.wait(5000)
cy.get('.nc-create-table-card .nc-create-table-submit').first().click()
cy.get(`.project-tab:contains(${name})`).should('exist')
cy.url().should('contain', `?name=${name}&`)
});
it('Create Table Column', () => {
cy.get('.nc-project-tree :contains(Tables)', {timeout: 10000})
.first().click()
.contains(name, {timeout: 6000}).first().click({force: true});
cy.get(`.project-tab:contains(${name}):visible`).should('exist')
cy.get('.v-window-item--active .nc-grid tr > th:last button').click();
});
it('Delete Table', () => {
cy.get('.nc-project-tree :contains(Tables)', {timeout: 10000})
.first().click()
.contains(name, {timeout: 6000}).first().click({force: true});
cy.get(`.project-tab:contains(${name}):visible`).should('exist')
cy.get('.nc-table-delete-btn:visible').click()
cy.get('button:contains(Submit)').click()
cy.get(`.project-tab:contains(${name}):visible`).first().should('not.exist')
});
})

6
docker-compose-cypress.yml

@ -20,7 +20,7 @@ services:
- |
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
rm /home/app/package-lock.json
cd /home/app/ && npm i && npm run run
cd /home/app/ && npm i && EE=true npm run run
xc-cypress-nc-gui:
network_mode: host
image: node:14-alpine
@ -37,5 +37,5 @@ services:
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
apk --update --no-cache add git
rm /home/app/package-lock.json
# cd /home/app/ && npm i && npm run dev
cd /home/app/ && npm i && NODE_ENV=development npm run build && npm start
cd /home/app/ && npm i && npm run dev
# cd /home/app/ && npm i && NODE_ENV=development npm run build && npm start

1
packages/nc-gui/components/project/spreadsheet/rowsXcDataTable.vue

@ -130,6 +130,7 @@
<v-tooltip bottom>
<template #activator="{on}">
<v-btn
class="nc-table-delete-btn"
:disabled="isLocked"
small
outlined

Loading…
Cancel
Save