mirror of https://github.com/nocodb/nocodb
dstala
3 years ago
7 changed files with 227 additions and 87 deletions
@ -1,10 +1,11 @@
|
||||
{ |
||||
"baseUrl": "http://localhost:3000", |
||||
"baseUrl": "http://localhost:3000/", |
||||
"defaultCommandTimeout": 13000, |
||||
"pageLoadTimeout": 600000, |
||||
"viewportWidth": 1980, |
||||
"viewportHeight": 1000, |
||||
"video": false, |
||||
"retries": 2, |
||||
"screenshotOnRunFailure": false |
||||
"screenshotOnRunFailure": false, |
||||
"numTestsKeptInMemory": 5 |
||||
} |
||||
|
@ -0,0 +1,93 @@
|
||||
|
||||
// Cypress test suite: project pre-configurations
|
||||
//
|
||||
|
||||
import { loginPage, projectsPage } from "../../support/page_objects/navigation" |
||||
import { mainPage } from "../../support/page_objects/mainpage" |
||||
import { staticProjects, roles } from "../../support/page_objects/projectConstants" |
||||
|
||||
describe(`Project pre-configurations`, () => { |
||||
|
||||
it('Admin SignUp', ()=> { |
||||
cy.waitForSpinners(); |
||||
cy.signinOrSignup(roles.owner.credentials) |
||||
cy.wait(2000) |
||||
}) |
||||
|
||||
const createProject = (proj) => { |
||||
it(`Create ${proj.basic.name} project`, () => { |
||||
|
||||
// click home button
|
||||
mainPage.toolBarTopLeft(mainPage.HOME).click() |
||||
// create requested project
|
||||
projectsPage.createProject( proj.basic, proj.config ) |
||||
})
|
||||
} |
||||
|
||||
createProject(staticProjects.sampleREST) |
||||
createProject(staticProjects.sampleGQL) |
||||
createProject(staticProjects.externalREST) |
||||
createProject(staticProjects.externalGQL) |
||||
}) |
||||
|
||||
describe('Static user creations (different roles)', () => { |
||||
|
||||
beforeEach(()=> { |
||||
loginPage.signIn(roles.owner.credentials) |
||||
projectsPage.openProject(staticProjects.sampleREST.basic.name) |
||||
}) |
||||
|
||||
const addUser = (user) => { |
||||
it(`RoleType: ${user.name}`, () => { |
||||
mainPage.addNewUserToProject(user.credentials, user.name) |
||||
}) |
||||
} |
||||
|
||||
addUser(roles.creator) |
||||
addUser(roles.editor) |
||||
addUser(roles.commenter) |
||||
addUser(roles.viewer)
|
||||
}) |
||||
|
||||
describe('Static users- add to other static projects', () => { |
||||
|
||||
const addUserToProject = (proj) => { |
||||
it(`Add users to ${proj.basic.name}`, () => { |
||||
loginPage.signIn(roles.owner.credentials) |
||||
projectsPage.openProject(proj.basic.name) |
||||
|
||||
mainPage.addExistingUserToProject(roles.creator.credentials.username, roles.creator.name) |
||||
mainPage.addExistingUserToProject(roles.editor.credentials.username, roles.editor.name) |
||||
mainPage.addExistingUserToProject(roles.commenter.credentials.username, roles.commenter.name) |
||||
mainPage.addExistingUserToProject(roles.viewer.credentials.username, roles.viewer.name) |
||||
}) |
||||
} |
||||
|
||||
addUserToProject(staticProjects.sampleGQL) |
||||
addUserToProject(staticProjects.externalREST) |
||||
addUserToProject(staticProjects.externalGQL) |
||||
}) |
||||
|
||||
|
||||
|
||||
/** |
||||
* @copyright Copyright (c) 2021, Xgene Cloud Ltd |
||||
* |
||||
* @author Raju Udava <sivadstala@gmail.com> |
||||
* |
||||
* @license GNU AGPL version 3 or any later version |
||||
* |
||||
* This program is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License as |
||||
* published by the Free Software Foundation, either version 3 of the |
||||
* License, or (at your option) any later version. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* |
||||
*/ |
@ -1,9 +1,65 @@
|
||||
|
||||
export const defaultDbParams = { |
||||
databaseType: 0, |
||||
databaseType: 0, // MySQL
|
||||
hostAddress: 'localhost', |
||||
portNumber: '3306', |
||||
username: 'root', |
||||
password: 'password', |
||||
databaseName: 'sakila' |
||||
} |
||||
|
||||
// database
|
||||
// validation details
|
||||
// advSettings: left navigation bar (audit, metadata, auth, transient view modes)
|
||||
// editSchema: create table, add/update/delete column
|
||||
// editData: add/ update/ delete row, cell contents
|
||||
// editComment: add comment
|
||||
// shareView: right navigation bar (share options)
|
||||
export const roles = { |
||||
owner: { |
||||
name: 'owner', |
||||
credentials: { username: 'user@nocodb.com', password: 'Password123.' }, |
||||
validations: { advSettings: true, editSchema: true, editData: true, editComment: true, shareView: true } |
||||
}, |
||||
creator: { |
||||
name: 'creator', |
||||
credentials: { username: 'creator@nocodb.com', password: 'Password123.' }, |
||||
validations: { advSettings: true, editSchema: true, editData: true, editComment: true, shareView: true } |
||||
}, |
||||
editor: { |
||||
name: 'editor', |
||||
credentials: { username: 'editor@nocodb.com', password: 'Password123.' }, |
||||
validations: { advSettings: false, editSchema: false, editData: true, editComment: true, shareView: false } |
||||
}, |
||||
commenter: { |
||||
name: 'commenter', |
||||
credentials: { username: 'commenter@nocodb.com', password: 'Password123.' }, |
||||
validations: { advSettings: false, editSchema: false, editData: false, editComment: true, shareView: false } |
||||
}, |
||||
viewer: { |
||||
name: 'viewer', |
||||
credentials: { username: 'viewer@nocodb.com', password: 'Password123.' }, |
||||
validations: { advSettings: false, editSchema: false, editData: false, editComment: false, shareView: false } |
||||
} |
||||
} |
||||
|
||||
// default projects
|
||||
//
|
||||
export const staticProjects = { |
||||
sampleREST: { |
||||
basic: { dbType: 'none', apiType: 'REST', name: 'sampleREST' },
|
||||
config: {} |
||||
}, |
||||
sampleGQL: { |
||||
basic: { dbType: 'none', apiType: 'GQL', name: 'sampleGQL' },
|
||||
config: {} |
||||
}, |
||||
externalREST: { |
||||
basic: { dbType: 'external', apiType: 'REST', name: 'externalREST' },
|
||||
config: defaultDbParams |
||||
}, |
||||
externalGQL: { |
||||
basic: { dbType: 'external', apiType: 'GQL', name: 'externalGQL' },
|
||||
config: defaultDbParams |
||||
} |
||||
} |
Loading…
Reference in new issue