Skip to content

Commit e3388e2

Browse files
authored
feat: enhance Excel export functionality and improve test coverage
1 parent 7609291 commit e3388e2

12 files changed

Lines changed: 749 additions & 92 deletions

File tree

packages/demo/frontend/vite.config.mts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { defineConfig, AliasOptions } from 'vite';
22
import react from '@vitejs/plugin-react';
33
import { codecovVitePlugin } from '@codecov/vite-plugin';
4-
import { join } from 'path';
5-
import { version } from './package.json';
4+
import { join } from 'node:path';
5+
import { version } from './package.json' with { type: 'json' };
66

77
function htmlSlot(options: Record<string, string>) {
88
return {
@@ -23,8 +23,16 @@ export default defineConfig((env) => {
2323
let alias: AliasOptions = {};
2424

2525
if (isDev || env.mode === 'e2e') {
26+
const dirPath = join(
27+
import.meta.dirname,
28+
'..',
29+
'..',
30+
'excel-collab',
31+
'src',
32+
);
33+
2634
alias = {
27-
'excel-collab': join(__dirname, '..', '..', 'excel-collab', 'src'),
35+
'excel-collab': dirPath,
2836
};
2937
}
3038

packages/excel-collab/src/__tests__/Export.test.tsx

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ describe('Export.test.ts', () => {
6464
test('ok', async () => {
6565
type('test');
6666
fireEvent.click(screen.getByTestId('menubar-excel-trigger'));
67-
fireEvent.click(screen.getByTestId('menubar-export-xlsx'));
67+
fireEvent.click(screen.getByTestId('menubar-export-more-xlsx'));
6868
await waitFor(() => {
6969
expect(mockSaveAs).toHaveBeenCalled();
7070
});
@@ -74,8 +74,28 @@ describe('Export.test.ts', () => {
7474
test('ok', async () => {
7575
type('test');
7676
fireEvent.click(screen.getByTestId('menubar-excel-trigger'));
77-
fireEvent.click(screen.getByTestId('menubar-export-csv'));
77+
fireEvent.click(screen.getByTestId('menubar-export-more-csv'));
7878
expect(mockSaveAs).toHaveBeenCalled();
7979
});
8080
});
81+
describe('download json', () => {
82+
test('ok', async () => {
83+
type('test');
84+
fireEvent.click(screen.getByTestId('menubar-excel-trigger'));
85+
fireEvent.click(screen.getByTestId('menubar-export-json'));
86+
expect(mockSaveAs).toHaveBeenCalled();
87+
});
88+
});
89+
describe('download other formats', () => {
90+
for (const ext of ['xlsb', 'xls', 'ods', 'html', 'dbf'] as const) {
91+
test(ext, async () => {
92+
type('test');
93+
fireEvent.click(screen.getByTestId('menubar-excel-trigger'));
94+
fireEvent.click(screen.getByTestId(`menubar-export-more-${ext}`));
95+
await waitFor(() => {
96+
expect(mockSaveAs).toHaveBeenCalled();
97+
});
98+
});
99+
}
100+
});
81101
});

0 commit comments

Comments
 (0)