mirror of
https://gitee.com/nocobase/nocobase.git
synced 2024-11-29 18:58:26 +08:00
Merge branch 'main' into next
This commit is contained in:
commit
3a9b546f4f
@ -324,6 +324,48 @@ describe('export to xlsx', () => {
|
||||
await app.destroy();
|
||||
});
|
||||
|
||||
it('should throw error when export field not exists', async () => {
|
||||
const Post = app.db.collection({
|
||||
name: 'posts',
|
||||
fields: [
|
||||
{
|
||||
name: 'title',
|
||||
type: 'string',
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
await app.db.sync();
|
||||
|
||||
await Post.repository.create({
|
||||
values: {
|
||||
title: 'some_title',
|
||||
json: {
|
||||
a: {
|
||||
b: 'c',
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
const exporter = new XlsxExporter({
|
||||
collectionManager: app.mainDataSource.collectionManager,
|
||||
collection: Post,
|
||||
chunkSize: 10,
|
||||
columns: [{ dataIndex: ['json'], defaultTitle: '' }],
|
||||
});
|
||||
|
||||
let error: any;
|
||||
try {
|
||||
await exporter.run({});
|
||||
} catch (e) {
|
||||
error = e;
|
||||
}
|
||||
|
||||
expect(error).toBeDefined();
|
||||
expect(error.message).toContain('not found');
|
||||
});
|
||||
|
||||
it('should export with json field', async () => {
|
||||
const Post = app.db.collection({
|
||||
name: 'posts',
|
||||
|
@ -114,6 +114,9 @@ class XlsxExporter {
|
||||
}
|
||||
|
||||
const field = this.options.collection.getField(col.dataIndex[0]);
|
||||
if (!field) {
|
||||
throw new Error(`Field "${col.dataIndex[0]}" not found: , please check the columns configuration.`);
|
||||
}
|
||||
|
||||
if (field.isRelationField()) {
|
||||
return col.dataIndex[0];
|
||||
|
Loading…
Reference in New Issue
Block a user