mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
107 lines
3.7 KiB
107 lines
3.7 KiB
|
|
export const defaultDbParams = { |
|
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 |
|
} |
|
} |
|
|
|
// return TRUE if test suite specified is activated from env-variables |
|
// |
|
export const isTestSuiteActive = (type, xcdb) => { |
|
const env = Cypress.env('testMode') |
|
if( !xcdb ) { |
|
switch( type ) { |
|
case 'rest': return env.includes('extREST')?true:false; |
|
case 'graphql': return env.includes('extGQL')?true:false; |
|
} |
|
} else { |
|
switch( type ) { |
|
case 'rest': return env.includes('xcdbREST')?true:false; |
|
case 'graphql': return env.includes('xcdbGQL')?true:false; |
|
} |
|
} |
|
} |
|
|
|
// expecting different modes to be seperated by a . |
|
export const getPrimarySuite = () => { |
|
const env = Cypress.env('testMode').split('.') |
|
switch(env[0]) { |
|
case 'extREST': return staticProjects.externalREST; |
|
case 'extGQL': return staticProjects.externalGQL; |
|
case 'xcdbREST': return staticProjects.sampleREST; |
|
case 'xcdbGQL': return staticProjects.sampleGQL; |
|
} |
|
} |
|
|
|
export const isSecondarySuite = (proj, xcdb) => { |
|
if(!isTestSuiteActive(proj, xcdb)) |
|
return false; |
|
|
|
const env = Cypress.env('testMode').split('.') |
|
|
|
switch(env[0]) { |
|
case 'extREST': return (proj=='rest' && !xcdb)?false:true; |
|
case 'extGQL': return (proj=='graphql' && !xcdb)?false:true; |
|
case 'xcdbREST': return (proj=='rest' && xcdb)?false:true; |
|
case 'xcdbGQL': return (proj=='graphql' && xcdb)?false:true; |
|
} |
|
} |