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. 68
      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>

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

@ -1,6 +1,7 @@
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"
@ -9,6 +10,41 @@ 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(() => {
// cy.waitForSpinners(); // cy.waitForSpinners();
@ -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 it('Update to EDITOR base share link', () => {
cy.visit(linkText, { loginPage.loginAndOpenProject(type)
baseUrl: null
})
projectsPage.waitHomePageLoad()
cy.closeTableTab('Actor') // click SHARE
}) cy.get('.nc-topright-menu')
.find('.nc-menu-share')
.click()
it(`Validate access permissions`, () => { cy.getActiveModal()
let roleType = 'viewer' .find('.nc-shared-base-role')
.click()
_advSettings(roleType, false) cy.getActiveMenu()
_editSchema(roleType, false) .find('[role="menuitem"]')
_editData(roleType, false) .contains('Editor')
_editComment(roleType, false) .click()
_viewMenu(roleType, false)
}) })
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')

Loading…
Cancel
Save