mirror of https://github.com/nocodb/nocodb
Muhammed Mustafa
2 years ago
4 changed files with 181 additions and 0 deletions
@ -0,0 +1,96 @@ |
|||||||
|
const defaultColumns = [ |
||||||
|
{ |
||||||
|
ai: true, |
||||||
|
altered: 1, |
||||||
|
cdf: null, |
||||||
|
ck: false, |
||||||
|
clen: null, |
||||||
|
column_name: 'id', |
||||||
|
ct: 'int(11)', |
||||||
|
dt: 'int', |
||||||
|
dtx: 'integer', |
||||||
|
dtxp: '11', |
||||||
|
dtxs: '', |
||||||
|
np: 11, |
||||||
|
nrqd: false, |
||||||
|
ns: 0, |
||||||
|
pk: true, |
||||||
|
rqd: true, |
||||||
|
title: 'Id', |
||||||
|
uicn: '', |
||||||
|
uidt: 'ID', |
||||||
|
uip: '', |
||||||
|
un: true, |
||||||
|
}, |
||||||
|
{ |
||||||
|
ai: false, |
||||||
|
altered: 1, |
||||||
|
cdf: null, |
||||||
|
ck: false, |
||||||
|
clen: 45, |
||||||
|
column_name: 'title', |
||||||
|
ct: 'varchar(45)', |
||||||
|
dt: 'varchar', |
||||||
|
dtx: 'specificType', |
||||||
|
dtxp: '45', |
||||||
|
dtxs: '', |
||||||
|
np: null, |
||||||
|
nrqd: true, |
||||||
|
ns: null, |
||||||
|
pk: false, |
||||||
|
rqd: false, |
||||||
|
title: 'Title', |
||||||
|
uicn: '', |
||||||
|
uidt: 'SingleLineText', |
||||||
|
uip: '', |
||||||
|
un: false, |
||||||
|
}, |
||||||
|
{ |
||||||
|
ai: false, |
||||||
|
altered: 1, |
||||||
|
cdf: 'CURRENT_TIMESTAMP', |
||||||
|
ck: false, |
||||||
|
clen: 45, |
||||||
|
column_name: 'created_at', |
||||||
|
ct: 'varchar(45)', |
||||||
|
dt: 'timestamp', |
||||||
|
dtx: 'specificType', |
||||||
|
dtxp: '', |
||||||
|
dtxs: '', |
||||||
|
np: null, |
||||||
|
nrqd: true, |
||||||
|
ns: null, |
||||||
|
pk: false, |
||||||
|
rqd: false, |
||||||
|
title: 'CreatedAt', |
||||||
|
uicn: '', |
||||||
|
uidt: 'DateTime', |
||||||
|
uip: '', |
||||||
|
un: false, |
||||||
|
}, |
||||||
|
{ |
||||||
|
ai: false, |
||||||
|
altered: 1, |
||||||
|
cdf: 'CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP', |
||||||
|
ck: false, |
||||||
|
clen: 45, |
||||||
|
column_name: 'updated_at', |
||||||
|
ct: 'varchar(45)', |
||||||
|
dt: 'timestamp', |
||||||
|
dtx: 'specificType', |
||||||
|
dtxp: '', |
||||||
|
dtxs: '', |
||||||
|
np: null, |
||||||
|
nrqd: true, |
||||||
|
ns: null, |
||||||
|
pk: false, |
||||||
|
rqd: false, |
||||||
|
title: 'UpdatedAt', |
||||||
|
uicn: '', |
||||||
|
uidt: 'DateTime', |
||||||
|
uip: '', |
||||||
|
un: false, |
||||||
|
}, |
||||||
|
]; |
||||||
|
|
||||||
|
export { defaultColumns }; |
@ -0,0 +1,20 @@ |
|||||||
|
import request from 'supertest'; |
||||||
|
import { defaultColumns } from './column'; |
||||||
|
|
||||||
|
const defaultTableValue = { |
||||||
|
table_name: 'Table1', |
||||||
|
title: 'Table1 Title', |
||||||
|
columns: defaultColumns, |
||||||
|
}; |
||||||
|
|
||||||
|
const createTable = async (app, token, project, args = {}) => { |
||||||
|
const response = await request(app) |
||||||
|
.post(`/api/v1/db/meta/projects/${project.id}/tables`) |
||||||
|
.set('xc-auth', token) |
||||||
|
.send({ ...defaultTableValue, ...args }); |
||||||
|
|
||||||
|
const table = response.body; |
||||||
|
return table; |
||||||
|
}; |
||||||
|
|
||||||
|
export { createTable }; |
@ -0,0 +1,63 @@ |
|||||||
|
// import { expect } from 'chai';
|
||||||
|
import 'mocha'; |
||||||
|
import request from 'supertest'; |
||||||
|
import server from '../server'; |
||||||
|
import { createUser } from './helpers/user'; |
||||||
|
import { createTable } from './helpers/table'; |
||||||
|
import { createProject } from './helpers/project'; |
||||||
|
import Model from '../../../../lib/models/Model'; |
||||||
|
|
||||||
|
function tableTest() { |
||||||
|
let app; |
||||||
|
let token; |
||||||
|
let project; |
||||||
|
let table; |
||||||
|
|
||||||
|
before(async function () { |
||||||
|
app = await server(); |
||||||
|
const response = await createUser(app, { roles: 'editor' }); |
||||||
|
token = response.token; |
||||||
|
|
||||||
|
project = await createProject(app, token); |
||||||
|
table = await createTable(app, token, project); |
||||||
|
}); |
||||||
|
|
||||||
|
it('Get table list', function (done) { |
||||||
|
request(app) |
||||||
|
.get(`/api/v1/db/meta/projects/${project.id}/tables`) |
||||||
|
.set('xc-auth', token) |
||||||
|
.send({}) |
||||||
|
.expect(200, (err, res) => { |
||||||
|
if (err) return done(err); |
||||||
|
|
||||||
|
if (res.body.list.length !== 1) return done('Wrong number of tables'); |
||||||
|
|
||||||
|
done(); |
||||||
|
}); |
||||||
|
}); |
||||||
|
|
||||||
|
it('Update table', function (done) { |
||||||
|
request(app) |
||||||
|
.patch(`/api/v1/db/meta/tables/${table.id}`) |
||||||
|
.set('xc-auth', token) |
||||||
|
.send({ |
||||||
|
project_id: project.id, |
||||||
|
table_name: 'new title', |
||||||
|
}) |
||||||
|
.expect(200, async (err) => { |
||||||
|
if (err) return done(err); |
||||||
|
|
||||||
|
const updatedTable = await Model.get(table.id); |
||||||
|
|
||||||
|
if (!updatedTable.table_name.endsWith('new title')) { |
||||||
|
return done('Table was not updated'); |
||||||
|
} |
||||||
|
|
||||||
|
done(); |
||||||
|
}); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
export default function () { |
||||||
|
describe('Table', tableTest); |
||||||
|
} |
Loading…
Reference in new issue