Browse Source

test(cypress): base share editor validation

Signed-off-by: Raju Udava <sivadstala@gmail.com>
pull/764/head
Raju Udava 3 years ago
parent
commit
16d0e9a130
  1. 2
      packages/nc-gui/components/base/shareBase.vue
  2. 74
      scripts/cypress/integration/common/6g_base_share.js

2
packages/nc-gui/components/base/shareBase.vue

@ -72,7 +72,7 @@
<div class="d-flex justify-center" style="width:120px"> <div class="d-flex justify-center" style="width:120px">
<v-menu v-if="base.enabled" offset-y> <v-menu v-if="base.enabled" offset-y>
<template #activator="{on}"> <template #activator="{on}">
<div class="text-capitalize my-2 font-weight-bold backgroundColorDefault py-2 px-4 rounded" v-on="on"> <div class="text-capitalize my-2 font-weight-bold backgroundColorDefault py-2 px-4 rounded nc-shared-base-role" v-on="on">
{{ base.roles || 'Viewer' }} {{ base.roles || 'Viewer' }}
<v-icon small> <v-icon small>

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

@ -1,13 +1,49 @@
import { mainPage } from "../../support/page_objects/mainPage" import { mainPage } from "../../support/page_objects/mainPage"
import { projectsPage } from "../../support/page_objects/navigation" import { projectsPage } from "../../support/page_objects/navigation"
import { loginPage } from "../../support/page_objects/navigation"
import { isTestSuiteActive } from "../../support/page_objects/projectConstants" import { isTestSuiteActive } from "../../support/page_objects/projectConstants"
import { _advSettings, _editSchema, _editData, _editComment, _viewMenu, _topRightMenu } from "../spec/roleValidation.spec" import { _advSettings, _editSchema, _editData, _editComment, _viewMenu, _topRightMenu } from "../spec/roleValidation.spec"
let linkText = '' let linkText = ''
export const genTest = (type, xcdb) => { export const genTest = (type, xcdb) => {
if(!isTestSuiteActive(type, xcdb)) return; if (!isTestSuiteActive(type, xcdb)) return;
const permissionValidation = (roleType) => {
it(`${roleType}: Visit base shared URL`, () => {
cy.log(linkText)
// visit URL & wait for page load to complete
cy.visit(linkText, {
baseUrl: null
})
projectsPage.waitHomePageLoad()
cy.closeTableTab('Actor')
})
it(`${roleType}: Validate access permissions: advance menu`, () => {
_advSettings(roleType, false)
})
it(`${roleType}: Validate access permissions: edit schema`, () => {
_editSchema(roleType, false)
})
it(`${roleType}: Validate access permissions: edit data`, () => {
_editData(roleType, false)
})
it(`${roleType}: Validate access permissions: edit comments`, () => {
_editComment(roleType, false)
})
it(`${roleType}: Validate access permissions: view's menu`, () => {
_viewMenu(roleType, false)
})
}
describe(`${type.toUpperCase()} Base VIEW share`, () => { describe(`${type.toUpperCase()} Base VIEW share`, () => {
// before(() => { // before(() => {
@ -64,28 +100,28 @@ style="background: transparent; "></iframe>
}) })
}) })
it(`Visit base shared URL`, () => { permissionValidation('viewer')
cy.log(linkText)
// visit URL & wait for page load to complete
cy.visit(linkText, {
baseUrl: null
})
projectsPage.waitHomePageLoad()
cy.closeTableTab('Actor') it('Update to EDITOR base share link', () => {
}) loginPage.loginAndOpenProject(type)
it(`Validate access permissions`, () => { // click SHARE
let roleType = 'viewer' cy.get('.nc-topright-menu')
.find('.nc-menu-share')
.click()
_advSettings(roleType, false) cy.getActiveModal()
_editSchema(roleType, false) .find('.nc-shared-base-role')
_editData(roleType, false) .click()
_editComment(roleType, false)
_viewMenu(roleType, false) cy.getActiveMenu()
.find('[role="menuitem"]')
.contains('Editor')
.click()
}) })
permissionValidation('editor')
it('Generate & verify embed HTML IFrame', { baseUrl: null }, () => { it('Generate & verify embed HTML IFrame', { baseUrl: null }, () => {
// open iFrame html // open iFrame html
cy.visit('scripts/cypress/fixtures/sampleFiles/iFrame.html') cy.visit('scripts/cypress/fixtures/sampleFiles/iFrame.html')
@ -108,7 +144,7 @@ style="background: transparent; "></iframe>
// validate data (row-1) // validate data (row-1)
mainPage.getIFrameCell('FirstName', 1).contains("PENELOPE").should('exist') mainPage.getIFrameCell('FirstName', 1).contains("PENELOPE").should('exist')
mainPage.getIFrameCell('LastName', 1).contains("GUINESS").should('exist') mainPage.getIFrameCell('LastName', 1).contains("GUINESS").should('exist')
}) })
}) })
} }

Loading…
Cancel
Save