Browse Source

test(cypress): embeddable iFrame basic validation

Signed-off-by: Raju Udava <sivadstala@gmail.com>
pull/765/head
Raju Udava 3 years ago
parent
commit
99e5df6c48
  1. 6
      package-lock.json
  2. 1
      package.json
  3. 2
      packages/nc-gui/components/templates/createProjectFromTemplateBtn.vue
  4. 3
      scripts/cypress/cypress.json
  5. 42
      scripts/cypress/integration/common/6g_base_share.js
  6. 3
      scripts/cypress/support/index.js
  7. 4
      scripts/cypress/support/page_objects/mainPage.js

6
package-lock.json generated

@ -3658,6 +3658,12 @@
"integrity": "sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g==", "integrity": "sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g==",
"dev": true "dev": true
}, },
"cypress-iframe": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cypress-iframe/-/cypress-iframe-1.0.1.tgz",
"integrity": "sha512-Ne+xkZmWMhfq3x6wbfzK/SzsVTCrJru3R3cLXsoSAZyfUtJDamXyaIieHXeea3pQDXF4wE2w4iUuvCYHhoD31g==",
"dev": true
},
"dargs": { "dargs": {
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz", "resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",

1
package.json

@ -5,6 +5,7 @@
"cross-env": "^7.0.3", "cross-env": "^7.0.3",
"cypress": "^7.3.0", "cypress": "^7.3.0",
"cypress-file-upload": "^5.0.8", "cypress-file-upload": "^5.0.8",
"cypress-iframe": "^1.0.1",
"jsdoc-to-markdown": "^5.0.3", "jsdoc-to-markdown": "^5.0.3",
"lerna": "^3.20.1" "lerna": "^3.20.1"
}, },

2
packages/nc-gui/components/templates/createProjectFromTemplateBtn.vue

@ -5,7 +5,7 @@
<v-btn <v-btn
:loading="projectCreation" :loading="projectCreation"
:disabled="projectCreation" :disabled="projectCreation"
class="primary" class="primary nc-btn-use-template"
x-large x-large
v-on="on" v-on="on"
> >

3
scripts/cypress/cypress.json

@ -34,5 +34,6 @@
"screenshotsFolder": "scripts/cypress/screenshots", "screenshotsFolder": "scripts/cypress/screenshots",
"videosFolder": "scripts/cypress/videos", "videosFolder": "scripts/cypress/videos",
"downloadsFolder": "scripts/cypress/downloads", "downloadsFolder": "scripts/cypress/downloads",
"supportFile": "scripts/cypress/support/index.js" "supportFile": "scripts/cypress/support/index.js",
"chromeWebSecurity": false
} }

42
scripts/cypress/integration/common/6g_base_share.js

@ -11,7 +11,9 @@ export const genTest = (type, xcdb) => {
describe(`${type.toUpperCase()} Columns of type attachment`, () => { describe(`${type.toUpperCase()} Columns of type attachment`, () => {
// before(() => { // before(() => {
// cy.openTableTab('Country'); // cy.waitForSpinners();
// cy.signinOrSignup(roles.owner.credentials)
// cy.wait(2000)
// }) // })
// after(() => { // after(() => {
@ -42,6 +44,24 @@ export const genTest = (type, xcdb) => {
.then(($obj) => { .then(($obj) => {
cy.log($obj[0]) cy.log($obj[0])
linkText = $obj[0].innerText.trim() linkText = $obj[0].innerText.trim()
const htmlFile = `
<!DOCTYPE html>
<html>
<body>
<iframe
class="nc-embed"
src="${linkText}?embed"
frameborder="0"
width="100%"
height="700"
style="background: transparent; "></iframe>
</body>
</html>
`
cy.writeFile("scripts/cypress/fixtures/sampleFiles/iFrame.html", htmlFile)
}) })
}) })
@ -56,18 +76,30 @@ export const genTest = (type, xcdb) => {
}) })
it(`Validate access permissions`, () => { it(`Validate access permissions`, () => {
let roleType = 'viewer' let roleType = 'viewer'
// cy.get(`[href="#roles||||Team & Auth "]`).find('button.mdi-close').click()
_advSettings(roleType, false) _advSettings(roleType, false)
_editSchema(roleType, false) _editSchema(roleType, false)
_editData(roleType, false) _editData(roleType, false)
_editComment(roleType, false) _editComment(roleType, false)
_viewMenu(roleType, false) _viewMenu(roleType, false)
})
it('Generate & verify embed HTML IFrame', { baseUrl: null }, () => {
// open iFrame html
cy.visit('scripts/cypress/fixtures/sampleFiles/iFrame.html')
cy.get('.nc-embed')
cy.frameLoaded('.nc-embed')
cy.iframe().find('.nc-project-tree').should('exist')
cy.iframe().find('.nc-fields-menu-btn').should('exist')
cy.iframe().find('.nc-sort-menu-btn').should('exist')
cy.iframe().find('.nc-filter-menu-btn').should('exist')
cy.iframe().find('.nc-actions-menu-btn').should('exist')
// disabled for share base mainPage.getIFrameCell('FirstName', 1).contains("PENELOPE").should('exist')
// _topRightMenu(roleType, false) mainPage.getIFrameCell('LastName', 1).contains("GUINESS").should('exist')
}) })
}) })
} }

3
scripts/cypress/support/index.js

@ -16,6 +16,9 @@
// Import commands.js using ES2015 syntax: // Import commands.js using ES2015 syntax:
import './commands' import './commands'
// https://www.cypress.io/blog/2020/02/12/working-with-iframes-in-cypress/
import 'cypress-iframe'
// Alternatively you can use CommonJS syntax: // Alternatively you can use CommonJS syntax:
// require('./commands') // require('./commands')

4
scripts/cypress/support/page_objects/mainPage.js

@ -317,6 +317,10 @@ export class _mainPage {
}) })
}) })
} }
getIFrameCell = (columnHeader, cellNumber) => {
return cy.iframe().find(`tbody > :nth-child(${cellNumber}) > [data-col="${columnHeader}"]`)
}
} }

Loading…
Cancel
Save