From dc59ec212404bc910cbaf6b613415a368ebd5498 Mon Sep 17 00:00:00 2001 From: xinbinyan <404928130@qq.com> Date: Tue, 16 Jan 2024 18:03:35 +0800 Subject: [PATCH 01/18] case DataSourceResultList --- .../WaterfallList.test.tsx | 80 + .../__snapshots__/WaterfallList.test.tsx.snap | 32032 ++++++++++++++++ .../__snapshots__/index.test.tsx.snap | 3620 ++ .../components/AuditResultTag.tsx | 8 +- .../components/AuditResultTree.tsx | 10 +- .../components/ExecStatusTag.tsx | 6 +- .../components/ResultCard.tsx | 19 +- .../components/test/AuditResultTag.test.tsx | 65 + .../components/test/AuditResultTree.test.tsx | 58 + .../components/test/ExecStatusTag.test.tsx | 68 + .../components/test/ResultCard.ce.test.tsx | 163 + .../components/test/ResultCard.test.tsx | 174 + .../components/test/ResultDescribe.test.tsx | 45 + .../AuditResultTag.test.tsx.snap | 274 + .../AuditResultTree.test.tsx.snap | 551 + .../__snapshots__/ExecStatusTag.test.tsx.snap | 97 + .../__snapshots__/ResultCard.test.tsx.snap | 2892 ++ .../ResultDescribe.test.tsx.snap | 69 + .../DataSourceResultList/index.test.tsx | 76 + .../sqle/src/testUtils/mockApi/task/index.ts | 7 + 20 files changed, 40298 insertions(+), 16 deletions(-) create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/WaterfallList.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/__snapshots__/WaterfallList.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/__snapshots__/index.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/AuditResultTag.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/AuditResultTree.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ExecStatusTag.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultCard.ce.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultCard.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultDescribe.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/AuditResultTag.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/AuditResultTree.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ExecStatusTag.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultCard.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultDescribe.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/index.test.tsx diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/WaterfallList.test.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/WaterfallList.test.tsx new file mode 100644 index 000000000..6715bc078 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/WaterfallList.test.tsx @@ -0,0 +1,80 @@ +import { renderWithTheme } from '../../../../testUtils/customRender'; +import { cleanup } from '@testing-library/react'; + +import { DataSourceResultWaterfallListProps } from '../index.type'; +import DataSourceWaterfallList from './WaterfallList'; + +import { mockUseCurrentUser } from '@actiontech/shared/lib/testUtil/mockHook/mockUseCurrentUser'; +import { IAuditTaskSQLResV2 } from '@actiontech/shared/lib/api/sqle/service/common'; + +const mockListData: IAuditTaskSQLResV2[] = []; +for (let i = 0; i < 50; i++) { + mockListData.push({ + number: i + 1, + audit_level: '', + audit_result: [ + { + level: 'level' + } + ], + audit_status: 'audit_status' + i, + description: 'description' + i, + exec_result: 'exec_result' + i, + exec_sql: 'exec_sql' + i, + exec_status: 'exec_status' + i, + rollback_sql: 'rollback_sql' + i + }); +} + +describe('sqle/Order/AuditDetail/DataSourceWaterfallList', () => { + const customRender = (params: DataSourceResultWaterfallListProps) => { + return renderWithTheme(); + }; + + beforeEach(() => { + jest.useFakeTimers(); + mockUseCurrentUser(); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + cleanup(); + }); + + it('render snap when loading', () => { + const { baseElement } = customRender({ + hasMore: false, + loading: true, + taskId: 'task id', + scrollPage: 1, + refreshScrollList: jest.fn(), + list: undefined + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render all data', async () => { + const { baseElement } = customRender({ + hasMore: false, + loading: false, + taskId: 'task id', + scrollPage: 1, + refreshScrollList: jest.fn(), + list: mockListData + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render has more data', async () => { + const { baseElement } = customRender({ + hasMore: true, + loading: false, + taskId: 'task id', + scrollPage: 5, + refreshScrollList: jest.fn(), + list: mockListData + }); + expect(baseElement).toMatchSnapshot(); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/__snapshots__/WaterfallList.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/__snapshots__/WaterfallList.test.tsx.snap new file mode 100644 index 000000000..db56215f7 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/__snapshots__/WaterfallList.test.tsx.snap @@ -0,0 +1,32032 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/DataSourceWaterfallList render all data 1`] = ` + +
+
+
+
+
+
+
+
    +
  • +
    +
    +
    +
    + + # + 1 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql0 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 2 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql1 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 3 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql2 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 4 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql3 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 5 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql4 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 6 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql5 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 7 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql6 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 8 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql7 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 9 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql8 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 10 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql9 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 11 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql10 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 12 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql11 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 13 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql12 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 14 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql13 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 15 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql14 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 16 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql15 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 17 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql16 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 18 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql17 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 19 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql18 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 20 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql19 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 21 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql20 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 22 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql21 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 23 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql22 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 24 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql23 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 25 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql24 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 26 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql25 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 27 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql26 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 28 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql27 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 29 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql28 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 30 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql29 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 31 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql30 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 32 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql31 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 33 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql32 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 34 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql33 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 35 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql34 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 36 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql35 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 37 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql36 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 38 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql37 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 39 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql38 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 40 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql39 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 41 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql40 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 42 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql41 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 43 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql42 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 44 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql43 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 45 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql44 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 46 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql45 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 47 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql46 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 48 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql47 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 49 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql48 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 50 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql49 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
+
+
+
+
+
+
+
+ +`; + +exports[`sqle/Order/AuditDetail/DataSourceWaterfallList render has more data 1`] = ` + +
+
+
+
+
+
+
+
    +
  • +
    +
    +
    +
    + + # + 1 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql0 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 2 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql1 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 3 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql2 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 4 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql3 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 5 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql4 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 6 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql5 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 7 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql6 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 8 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql7 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 9 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql8 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 10 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql9 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 11 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql10 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 12 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql11 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 13 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql12 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 14 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql13 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 15 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql14 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 16 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql15 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 17 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql16 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 18 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql17 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 19 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql18 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 20 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql19 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 21 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql20 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 22 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql21 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 23 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql22 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 24 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql23 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 25 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql24 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 26 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql25 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 27 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql26 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 28 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql27 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 29 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql28 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 30 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql29 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 31 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql30 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 32 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql31 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 33 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql32 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 34 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql33 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 35 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql34 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 36 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql35 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 37 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql36 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 38 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql37 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 39 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql38 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 40 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql39 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 41 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql40 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 42 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql41 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 43 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql42 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 44 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql43 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 45 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql44 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 46 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql45 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 47 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql46 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 48 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql47 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 49 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql48 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 50 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                            
    +                              
    + + 1 + + exec_sql49 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
+
+
+
+
+
+
+
+ +`; + +exports[`sqle/Order/AuditDetail/DataSourceWaterfallList render snap when loading 1`] = ` + +
+
+
+
+
+
+
+
+ + + + + + +
+
+
+
+
+
+
+
+
+
+
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/__snapshots__/index.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/__snapshots__/index.test.tsx.snap new file mode 100644 index 000000000..e256126a2 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/__snapshots__/index.test.tsx.snap @@ -0,0 +1,3620 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/DataSourceResultList render snap when load is false 1`] = ` + +
+
+
+
+
+
    +
  • +
    +
    +
    +
    + + # + 1 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                        
    +                          
    + + 1 + + exec_sql0 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 2 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                        
    +                          
    + + 1 + + exec_sql1 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 3 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                        
    +                          
    + + 1 + + exec_sql2 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 4 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                        
    +                          
    + + 1 + + exec_sql3 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 5 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                        
    +                          
    + + 1 + + exec_sql4 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 6 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                        
    +                          
    + + 1 + + exec_sql5 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 7 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                        
    +                          
    + + 1 + + exec_sql6 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 8 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                        
    +                          
    + + 1 + + exec_sql7 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 9 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                        
    +                          
    + + 1 + + exec_sql8 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
  • +
    +
    +
    +
    + + # + 10 + +
    +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + 执行语句 +
    +
    + 回滚语句 +
    +
    +
    +
    +                        
    +                          
    + + 1 + + exec_sql9 +
    +
    +
    +
    +
    +
    + +
    + +
    +
    + +
    + +
    + +
    +
  • +
+
+
+
+ +
+
+
+
+ +`; + +exports[`sqle/Order/AuditDetail/DataSourceResultList render snap when loading 1`] = ` + +
+
+
+
+
+
+ + + + + + +
+
+
+
+
+
+
+
    +
  • + + 共 0 条数据 + +
  • +
  • + +
  • +
  • + + 1 + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/AuditResultTag.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/AuditResultTag.tsx index 461d971b3..4a7009e70 100644 --- a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/AuditResultTag.tsx +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/AuditResultTag.tsx @@ -11,9 +11,11 @@ import { RuleResV1LevelEnum } from '@actiontech/shared/lib/api/sqle/service/comm import { useMemo } from 'react'; import { Space } from 'antd'; -const AuditResultTag: React.FC<{ auditResult?: IAuditResult[] }> = ({ - auditResult -}) => { +export interface AuditResultTagProps { + auditResult?: IAuditResult[]; +} + +const AuditResultTag: React.FC = ({ auditResult }) => { const { t } = useTranslation(); const noticeResult = useMemo(() => { diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/AuditResultTree.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/AuditResultTree.tsx index e168bd110..6213efce6 100644 --- a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/AuditResultTree.tsx +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/AuditResultTree.tsx @@ -8,9 +8,11 @@ import rule_template from '@actiontech/shared/lib/api/sqle/service/rule_template import { ResponseCode } from '@actiontech/shared/lib/enum'; import AuditResultMessage from '../../../../../components/AuditResultMessage'; -const AuditResultTree: React.FC<{ auditResult?: IAuditResult[] }> = ({ - auditResult -}) => { +export interface AuditResultTreeProps { + auditResult?: IAuditResult[]; +} + +const AuditResultTree: React.FC = ({ auditResult }) => { const { t } = useTranslation(); const [treeData, setTreeData] = useState([ @@ -99,7 +101,7 @@ const AuditResultTree: React.FC<{ auditResult?: IAuditResult[] }> = ({ treeData={treeData} selectable={false} loadData={onLoadData} - > + /> ); }; diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/ExecStatusTag.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/ExecStatusTag.tsx index d320b6ef3..5ba5b24bb 100644 --- a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/ExecStatusTag.tsx +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/ExecStatusTag.tsx @@ -17,9 +17,11 @@ const execStatusMap: { [getAuditTaskSQLsV2FilterExecStatusEnum.terminating]: 'geekblue' }; -const ExecStatusTag: React.FC<{ +export interface ExecStatusTagProps { status: getAuditTaskSQLsV2FilterExecStatusEnum; -}> = ({ status }) => { +} + +const ExecStatusTag: React.FC = ({ status }) => { const { t } = useTranslation(); return ( diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/ResultCard.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/ResultCard.tsx index 0b2819165..5ad6724a0 100644 --- a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/ResultCard.tsx +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/ResultCard.tsx @@ -18,13 +18,18 @@ import ResultDescribe from './ResultDescribe'; import task from '@actiontech/shared/lib/api/sqle/service/task'; import { ResponseCode } from '@actiontech/shared/lib/enum'; -const ResultCard: React.FC< - IAuditTaskSQLResV2 & { - projectName: string; - taskId: string; - onUpdateDescription?: () => void; - } -> = ({ projectName, taskId, onUpdateDescription, ...props }) => { +export type ResultCardProps = IAuditTaskSQLResV2 & { + projectName: string; + taskId: string; + onUpdateDescription?: () => void; +}; + +const ResultCard: React.FC = ({ + projectName, + taskId, + onUpdateDescription, + ...props +}) => { const { t } = useTranslation(); const [messageApi, contextHolder] = message.useMessage(); diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/AuditResultTag.test.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/AuditResultTag.test.tsx new file mode 100644 index 000000000..0e8c056e2 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/AuditResultTag.test.tsx @@ -0,0 +1,65 @@ +import { renderWithTheme } from '../../../../../../testUtils/customRender'; + +import AuditResultTag, { AuditResultTagProps } from '../AuditResultTag'; +import { RuleResV1LevelEnum } from '@actiontech/shared/lib/api/sqle/service/common.enum'; + +describe('sqle/Order/AuditDetail/AuditResultTag', () => { + const customRender = (params: AuditResultTagProps = {}) => { + return renderWithTheme(); + }; + + it('render tag is audit success', () => { + const { baseElement } = customRender(); + expect(baseElement).toMatchSnapshot(); + }); + + it('render tag is notice & warn & error', () => { + const { baseElement } = customRender({ + auditResult: [ + { + level: RuleResV1LevelEnum.notice + }, + { + level: RuleResV1LevelEnum.error + }, + { + level: RuleResV1LevelEnum.warn + } + ] + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render tag is error', () => { + const { baseElement } = customRender({ + auditResult: [ + { + level: RuleResV1LevelEnum.error + } + ] + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render tag is notice', () => { + const { baseElement } = customRender({ + auditResult: [ + { + level: RuleResV1LevelEnum.notice + } + ] + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render tag is warn', () => { + const { baseElement } = customRender({ + auditResult: [ + { + level: RuleResV1LevelEnum.warn + } + ] + }); + expect(baseElement).toMatchSnapshot(); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/AuditResultTree.test.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/AuditResultTree.test.tsx new file mode 100644 index 000000000..65e110cb9 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/AuditResultTree.test.tsx @@ -0,0 +1,58 @@ +import { renderWithTheme } from '../../../../../../testUtils/customRender'; +import { act, cleanup, fireEvent } from '@testing-library/react'; + +import AuditResultTree, { AuditResultTreeProps } from '../AuditResultTree'; + +import rule_template from '../../../../../../testUtils/mockApi/rule_template'; +import { getBySelector } from '@actiontech/shared/lib/testUtil/customQuery'; + +describe('sqle/Order/AuditDetail/AuditResultTree', () => { + let requestRuleList: jest.SpyInstance; + + const customRender = (params: AuditResultTreeProps = {}) => { + return renderWithTheme(); + }; + + beforeEach(() => { + jest.useFakeTimers(); + requestRuleList = rule_template.getRuleList(); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + cleanup(); + }); + + it('render tree when auditResult is null', () => { + const { baseElement } = customRender({ + auditResult: [] + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render tree snap', async () => { + const { baseElement } = customRender({ + auditResult: [ + { + rule_name: 'rule name a' + }, + { + rule_name: 'rule name b' + } + ] + }); + expect(baseElement).toMatchSnapshot(); + + const iconArrow = getBySelector('.custom-icon-arrow-down', baseElement); + fireEvent.click(iconArrow); + await act(async () => jest.advanceTimersByTime(1000)); + expect(baseElement).toMatchSnapshot(); + await act(async () => jest.advanceTimersByTime(2300)); + expect(requestRuleList).toBeCalled(); + expect(requestRuleList).toBeCalledWith({ + filter_rule_names: 'rule name a,rule name b' + }); + expect(baseElement).toMatchSnapshot(); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ExecStatusTag.test.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ExecStatusTag.test.tsx new file mode 100644 index 000000000..39bff1dc9 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ExecStatusTag.test.tsx @@ -0,0 +1,68 @@ +import { renderWithTheme } from '../../../../../../testUtils/customRender'; + +import ExecStatusTag, { ExecStatusTagProps } from '../ExecStatusTag'; +import { getAuditTaskSQLsV2FilterExecStatusEnum } from '@actiontech/shared/lib/api/sqle/service/task/index.enum'; + +describe('sqle/Order/AuditDetail/execStatusMap', () => { + const customRender = ( + params: ExecStatusTagProps = { + status: getAuditTaskSQLsV2FilterExecStatusEnum.initialized + } + ) => { + return renderWithTheme(); + }; + + it('render initialized tag', () => { + const { baseElement } = customRender(); + expect(baseElement).toMatchSnapshot(); + }); + + it('render failed tag', () => { + const { baseElement } = customRender({ + status: getAuditTaskSQLsV2FilterExecStatusEnum.failed + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render succeeded tag', () => { + const { baseElement } = customRender({ + status: getAuditTaskSQLsV2FilterExecStatusEnum.succeeded + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render doing tag', () => { + const { baseElement } = customRender({ + status: getAuditTaskSQLsV2FilterExecStatusEnum.doing + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render manually_executed tag', () => { + const { baseElement } = customRender({ + status: getAuditTaskSQLsV2FilterExecStatusEnum.manually_executed + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render terminate_failed tag', () => { + const { baseElement } = customRender({ + status: getAuditTaskSQLsV2FilterExecStatusEnum.terminate_failed + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render terminate_succeeded tag', () => { + const { baseElement } = customRender({ + status: getAuditTaskSQLsV2FilterExecStatusEnum.terminate_succeeded + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render terminating tag', () => { + const { baseElement } = customRender({ + status: getAuditTaskSQLsV2FilterExecStatusEnum.terminating + }); + expect(baseElement).toMatchSnapshot(); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultCard.ce.test.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultCard.ce.test.tsx new file mode 100644 index 000000000..854f65caf --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultCard.ce.test.tsx @@ -0,0 +1,163 @@ +/** + * @test_version ce + */ + +import { renderWithTheme } from '../../../../../../testUtils/customRender'; +import { + getAllBySelector, + getBySelector +} from '@actiontech/shared/lib/testUtil/customQuery'; +import { act, cleanup, fireEvent, screen } from '@testing-library/react'; + +import task from '../../../../../../testUtils/mockApi/task'; +import rule_template from '../../../../../../testUtils/mockApi/rule_template'; +import { getAuditTaskSQLsV2FilterExecStatusEnum } from '@actiontech/shared/lib/api/sqle/service/task/index.enum'; +import { Copy } from '@actiontech/shared'; + +import ResultCard, { ResultCardProps } from '../ResultCard'; + +const projectName = 'default'; +const taskId = 'task_id_1234'; + +describe('sqle/Order/AuditDetail/ResultCard', () => { + let requestUpdateSqlDesc: jest.SpyInstance; + const onUpdateDescriptionFn = jest.fn(); + + const customRender = ( + params: Omit< + ResultCardProps, + 'projectName' | 'taskId' | 'onUpdateDescription' + > + ) => { + const someParams: Pick< + ResultCardProps, + 'projectName' | 'taskId' | 'onUpdateDescription' + > = { + projectName, + taskId, + onUpdateDescription: onUpdateDescriptionFn + }; + return renderWithTheme(); + }; + + beforeEach(() => { + jest.useFakeTimers(); + requestUpdateSqlDesc = task.updateAuditTaskSQLs(); + rule_template.getRuleList(); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + cleanup(); + }); + + it('render snap when data is empty', () => { + const { baseElement } = customRender({ + number: 1, + exec_status: '', + audit_result: [] + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render click add desc', async () => { + const { baseElement } = customRender({ + number: 1, + description: 'into desc params' + }); + expect(baseElement).toMatchSnapshot(); + const descInput = getBySelector('input[placeholder="添加说明"]'); + fireEvent.change(descInput, { + target: { + value: 'desc text' + } + }); + await act(async () => jest.advanceTimersByTime(300)); + fireEvent.blur(descInput); + await act(async () => jest.advanceTimersByTime(300)); + expect(baseElement).toMatchSnapshot(); + await act(async () => jest.advanceTimersByTime(2800)); + expect(requestUpdateSqlDesc).toBeCalled(); + expect(requestUpdateSqlDesc).toBeCalledWith({ + number: '1', + description: 'desc text', + task_id: taskId + }); + expect(onUpdateDescriptionFn).toBeCalled(); + }); + + it('render click icon arrow when has result cont', async () => { + const { baseElement } = customRender({ + number: 1, + exec_result: 'exec_result cont', + audit_result: [ + { + rule_name: 'rule_name a' + } + ] + }); + + const iconArrows = getAllBySelector('.custom-icon-arrow-down', baseElement); + expect(iconArrows.length).toBe(2); + + fireEvent.click(iconArrows[0]); + await act(async () => jest.advanceTimersByTime(500)); + + fireEvent.click(iconArrows[1]); + await act(async () => jest.advanceTimersByTime(500)); + + expect(baseElement).toMatchSnapshot(); + }); + + it('render click icon arrow when no cont', async () => { + const { baseElement } = customRender({ + number: 1 + }); + + const iconArrows = getAllBySelector('.custom-icon-arrow-down', baseElement); + expect(iconArrows.length).toBe(2); + + fireEvent.click(iconArrows[0]); + await act(async () => jest.advanceTimersByTime(500)); + + fireEvent.click(iconArrows[1]); + await act(async () => jest.advanceTimersByTime(500)); + + expect(baseElement).toMatchSnapshot(); + }); + + it('render change exec_sql & rollback_sql', async () => { + const { baseElement } = customRender({ + number: 1, + exec_sql: 'exec_sql cont', + rollback_sql: 'rollback_sql cont' + }); + + expect(screen.getByText('执行语句')).toBeInTheDocument(); + expect(screen.getByText('回滚语句')).toBeInTheDocument(); + expect(baseElement).toMatchSnapshot(); + fireEvent.click(screen.getByText('回滚语句')); + await act(async () => jest.advanceTimersByTime(500)); + expect(baseElement).toMatchSnapshot(); + fireEvent.click(screen.getByText('执行语句')); + await act(async () => jest.advanceTimersByTime(500)); + expect(baseElement).toMatchSnapshot(); + }); + + it('render copy exec_sql', async () => { + const mockCopyTextByTextarea = jest.fn(); + jest + .spyOn(Copy, 'copyTextByTextarea') + .mockImplementation(mockCopyTextByTextarea); + customRender({ + number: 1, + exec_status: getAuditTaskSQLsV2FilterExecStatusEnum.succeeded, + exec_sql: 'exec_sql cont' + }); + expect(screen.getByText('复制执行语句')).toBeInTheDocument(); + fireEvent.click(screen.getByText('复制执行语句')); + expect(mockCopyTextByTextarea).toBeCalled(); + expect(screen.getByText('复制成功')).toBeInTheDocument(); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultCard.test.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultCard.test.tsx new file mode 100644 index 000000000..cb038c552 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultCard.test.tsx @@ -0,0 +1,174 @@ +import { renderWithTheme } from '../../../../../../testUtils/customRender'; +import { + getAllBySelector, + getBySelector +} from '@actiontech/shared/lib/testUtil/customQuery'; +import { act, cleanup, fireEvent, screen } from '@testing-library/react'; + +import task from '../../../../../../testUtils/mockApi/task'; +import rule_template from '../../../../../../testUtils/mockApi/rule_template'; +import { getAuditTaskSQLsV2FilterExecStatusEnum } from '@actiontech/shared/lib/api/sqle/service/task/index.enum'; +import { Copy } from '@actiontech/shared'; + +import ResultCard, { ResultCardProps } from '../ResultCard'; + +const projectName = 'default'; +const taskId = 'task_id_1234'; + +describe('sqle/Order/AuditDetail/ResultCard', () => { + let requestUpdateSqlDesc: jest.SpyInstance; + const onUpdateDescriptionFn = jest.fn(); + + const customRender = ( + params: Omit< + ResultCardProps, + 'projectName' | 'taskId' | 'onUpdateDescription' + > + ) => { + const someParams: Pick< + ResultCardProps, + 'projectName' | 'taskId' | 'onUpdateDescription' + > = { + projectName, + taskId, + onUpdateDescription: onUpdateDescriptionFn + }; + return renderWithTheme(); + }; + + beforeEach(() => { + jest.useFakeTimers(); + requestUpdateSqlDesc = task.updateAuditTaskSQLs(); + rule_template.getRuleList(); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + cleanup(); + }); + + it('render snap when data is empty', () => { + const { baseElement } = customRender({ + number: 1, + exec_status: '', + audit_result: [] + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render click add desc', async () => { + const { baseElement } = customRender({ + number: 1, + description: 'into desc params' + }); + expect(baseElement).toMatchSnapshot(); + const descInput = getBySelector('input[placeholder="添加说明"]'); + fireEvent.change(descInput, { + target: { + value: 'desc text' + } + }); + await act(async () => jest.advanceTimersByTime(300)); + fireEvent.blur(descInput); + await act(async () => jest.advanceTimersByTime(300)); + expect(baseElement).toMatchSnapshot(); + await act(async () => jest.advanceTimersByTime(2800)); + expect(requestUpdateSqlDesc).toBeCalled(); + expect(requestUpdateSqlDesc).toBeCalledWith({ + number: '1', + description: 'desc text', + task_id: taskId + }); + expect(onUpdateDescriptionFn).toBeCalled(); + }); + + it('render click icon arrow when has result cont', async () => { + const { baseElement } = customRender({ + number: 1, + exec_result: 'exec_result cont', + audit_result: [ + { + rule_name: 'rule_name a' + } + ] + }); + + const iconArrows = getAllBySelector('.custom-icon-arrow-down', baseElement); + expect(iconArrows.length).toBe(2); + + fireEvent.click(iconArrows[0]); + await act(async () => jest.advanceTimersByTime(500)); + + fireEvent.click(iconArrows[1]); + await act(async () => jest.advanceTimersByTime(500)); + + expect(baseElement).toMatchSnapshot(); + }); + + it('render click icon arrow when no cont', async () => { + const { baseElement } = customRender({ + number: 1 + }); + + const iconArrows = getAllBySelector('.custom-icon-arrow-down', baseElement); + expect(iconArrows.length).toBe(2); + + fireEvent.click(iconArrows[0]); + await act(async () => jest.advanceTimersByTime(500)); + + fireEvent.click(iconArrows[1]); + await act(async () => jest.advanceTimersByTime(500)); + + expect(baseElement).toMatchSnapshot(); + }); + + it('render change exec_sql & rollback_sql', async () => { + const { baseElement } = customRender({ + number: 1, + exec_sql: 'exec_sql cont', + rollback_sql: 'rollback_sql cont' + }); + + expect(screen.getByText('执行语句')).toBeInTheDocument(); + expect(screen.getByText('回滚语句')).toBeInTheDocument(); + expect(baseElement).toMatchSnapshot(); + fireEvent.click(screen.getByText('回滚语句')); + await act(async () => jest.advanceTimersByTime(500)); + expect(baseElement).toMatchSnapshot(); + fireEvent.click(screen.getByText('执行语句')); + await act(async () => jest.advanceTimersByTime(500)); + expect(baseElement).toMatchSnapshot(); + }); + + it('render skip analyze page', async () => { + const openSpy = jest.spyOn(window, 'open').mockImplementation(() => null); + customRender({ + number: 2 + }); + expect(screen.getByText('分 析')).toBeInTheDocument(); + fireEvent.click(screen.getByText('分 析')); + await act(async () => jest.advanceTimersByTime(500)); + expect(openSpy).toBeCalled(); + expect(openSpy).toBeCalledWith( + `/sqle/project/${projectName}/order/${taskId}/2/analyze` + ); + openSpy.mockRestore(); + }); + + it('render copy exec_sql', async () => { + const mockCopyTextByTextarea = jest.fn(); + jest + .spyOn(Copy, 'copyTextByTextarea') + .mockImplementation(mockCopyTextByTextarea); + customRender({ + number: 1, + exec_status: getAuditTaskSQLsV2FilterExecStatusEnum.succeeded, + exec_sql: 'exec_sql cont' + }); + expect(screen.getByText('复制执行语句')).toBeInTheDocument(); + fireEvent.click(screen.getByText('复制执行语句')); + expect(mockCopyTextByTextarea).toBeCalled(); + expect(screen.getByText('复制成功')).toBeInTheDocument(); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultDescribe.test.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultDescribe.test.tsx new file mode 100644 index 000000000..6bc784bdf --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/ResultDescribe.test.tsx @@ -0,0 +1,45 @@ +import { renderWithTheme } from '../../../../../../testUtils/customRender'; +import { act, cleanup, fireEvent } from '@testing-library/react'; + +import ResultDescribe from '../ResultDescribe'; +import { getBySelector } from '@actiontech/shared/lib/testUtil/customQuery'; + +describe('sqle/Order/AuditDetail/ResultDescribe', () => { + const onSubmitFn = jest.fn(); + const customRender = (value: string = '') => { + return renderWithTheme( + + ); + }; + + beforeEach(() => { + jest.useFakeTimers(); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + cleanup(); + }); + + it('render snap when value is empty', () => { + const { baseElement } = customRender(); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when has value', async () => { + const { baseElement } = customRender('this is a desc'); + expect(baseElement).toMatchSnapshot(); + const descInput = getBySelector('input[placeholder="添加说明"]'); + fireEvent.change(descInput, { + target: { + value: 'desc text' + } + }); + await act(async () => jest.advanceTimersByTime(300)); + fireEvent.blur(descInput); + await act(async () => jest.advanceTimersByTime(300)); + expect(onSubmitFn).toBeCalled(); + expect(onSubmitFn).toBeCalledWith('desc text'); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/AuditResultTag.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/AuditResultTag.test.tsx.snap new file mode 100644 index 000000000..635e9aeb6 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/AuditResultTag.test.tsx.snap @@ -0,0 +1,274 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/AuditResultTag render tag is audit success 1`] = ` + +
+ + + + + + + + + + 审核通过 + + +
+ +`; + +exports[`sqle/Order/AuditDetail/AuditResultTag render tag is error 1`] = ` + +
+
+
+ + + + + + + + + + 1 + + +
+
+
+ +`; + +exports[`sqle/Order/AuditDetail/AuditResultTag render tag is notice & warn & error 1`] = ` + +
+
+
+ + + + + + + + + + 1 + + +
+
+ + + + + + + + + + 1 + + +
+
+ + + + + + + + + + 1 + + +
+
+
+ +`; + +exports[`sqle/Order/AuditDetail/AuditResultTag render tag is notice 1`] = ` + +
+
+
+ + + + + + + + + + 1 + + +
+
+
+ +`; + +exports[`sqle/Order/AuditDetail/AuditResultTag render tag is warn 1`] = ` + +
+
+
+ + + + + + + + + + 1 + + +
+
+
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/AuditResultTree.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/AuditResultTree.test.tsx.snap new file mode 100644 index 000000000..030422a34 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/AuditResultTree.test.tsx.snap @@ -0,0 +1,551 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/AuditResultTree render tree snap 1`] = ` + +
+
+
+ +
+ +
+ +`; + +exports[`sqle/Order/AuditDetail/AuditResultTree render tree snap 2`] = ` + +
+
+
+ +
+ +
+ +`; + +exports[`sqle/Order/AuditDetail/AuditResultTree render tree snap 3`] = ` + +
+
+
+ +
+ +
+ +`; + +exports[`sqle/Order/AuditDetail/AuditResultTree render tree when auditResult is null 1`] = ` + +
+
+
+ +
+ +
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ExecStatusTag.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ExecStatusTag.test.tsx.snap new file mode 100644 index 000000000..c7bec7ead --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ExecStatusTag.test.tsx.snap @@ -0,0 +1,97 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/execStatusMap render doing tag 1`] = ` + +
+ + 正在执行 + +
+ +`; + +exports[`sqle/Order/AuditDetail/execStatusMap render failed tag 1`] = ` + +
+ + 执行失败 + +
+ +`; + +exports[`sqle/Order/AuditDetail/execStatusMap render initialized tag 1`] = ` + +
+ + 准备执行 + +
+ +`; + +exports[`sqle/Order/AuditDetail/execStatusMap render manually_executed tag 1`] = ` + +
+ + 人工执行 + +
+ +`; + +exports[`sqle/Order/AuditDetail/execStatusMap render succeeded tag 1`] = ` + +
+ + 执行成功 + +
+ +`; + +exports[`sqle/Order/AuditDetail/execStatusMap render terminate_failed tag 1`] = ` + +
+ + 中止失败 + +
+ +`; + +exports[`sqle/Order/AuditDetail/execStatusMap render terminate_succeeded tag 1`] = ` + +
+ + 中止成功 + +
+ +`; + +exports[`sqle/Order/AuditDetail/execStatusMap render terminating tag 1`] = ` + +
+ + 正在中止 + +
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultCard.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultCard.test.tsx.snap new file mode 100644 index 000000000..230188a6e --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultCard.test.tsx.snap @@ -0,0 +1,2892 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/ResultCard render change exec_sql & rollback_sql 1`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + + exec_sql cont +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render change exec_sql & rollback_sql 2`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + + rollback_sql cont +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render change exec_sql & rollback_sql 3`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + + exec_sql cont +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render click add desc 1`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render click add desc 2`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render click icon arrow when has result cont 1`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+ +
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render click icon arrow when no cont 1`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render snap when data is empty 1`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultDescribe.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultDescribe.test.tsx.snap new file mode 100644 index 000000000..9255108a4 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultDescribe.test.tsx.snap @@ -0,0 +1,69 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/ResultDescribe render snap when has value 1`] = ` + +
+
+ + + + + + +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultDescribe render snap when value is empty 1`] = ` + +
+
+ + + + + + +
+
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/index.test.tsx b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/index.test.tsx new file mode 100644 index 000000000..e77878384 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/index.test.tsx @@ -0,0 +1,76 @@ +import { renderWithTheme } from '../../../../testUtils/customRender'; +import { cleanup } from '@testing-library/react'; + +import { DataSourceResultListProps } from '../index.type'; +import DataSourceResultList from '.'; + +import { mockUseCurrentUser } from '@actiontech/shared/lib/testUtil/mockHook/mockUseCurrentUser'; +import { IAuditTaskSQLResV2 } from '@actiontech/shared/lib/api/sqle/service/common'; + +const mockListData: IAuditTaskSQLResV2[] = []; +for (let i = 0; i < 50; i++) { + mockListData.push({ + number: i + 1, + audit_level: '', + audit_result: [ + { + level: 'level' + } + ], + audit_status: 'audit_status' + i, + description: 'description' + i, + exec_result: 'exec_result' + i, + exec_sql: 'exec_sql' + i, + exec_status: 'exec_status' + i, + rollback_sql: 'rollback_sql' + i + }); +} + +describe('sqle/Order/AuditDetail/DataSourceResultList', () => { + const customRender = (params: DataSourceResultListProps) => { + return renderWithTheme(); + }; + + beforeEach(() => { + jest.useFakeTimers(); + mockUseCurrentUser(); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + cleanup(); + }); + + it('render snap when loading', () => { + const { baseElement } = customRender({ + list: undefined, + total: undefined, + pagination: { + page_index: 1, + page_size: 10 + }, + onChange: jest.fn(), + loading: true, + taskId: 'task id', + refresh: jest.fn() + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when load is false', () => { + const { baseElement } = customRender({ + list: mockListData, + total: mockListData.length, + pagination: { + page_index: 1, + page_size: 10 + }, + onChange: jest.fn(), + loading: false, + taskId: 'task id', + refresh: jest.fn() + }); + expect(baseElement).toMatchSnapshot(); + }); +}); diff --git a/packages/sqle/src/testUtils/mockApi/task/index.ts b/packages/sqle/src/testUtils/mockApi/task/index.ts index b3021a81a..a7033b875 100644 --- a/packages/sqle/src/testUtils/mockApi/task/index.ts +++ b/packages/sqle/src/testUtils/mockApi/task/index.ts @@ -8,6 +8,7 @@ import { AuditTaskSQLsMockData } from './data'; class TaskMockApi implements MockSpyApy { public mockAllApi(): void { this.getAuditTaskSQLs(); + this.updateAuditTaskSQLs(); } public getAuditTaskSQLs() { @@ -20,6 +21,12 @@ class TaskMockApi implements MockSpyApy { ); return spy; } + + public updateAuditTaskSQLs() { + const spy = jest.spyOn(task, 'updateAuditTaskSQLsV1'); + spy.mockImplementation(() => createSpySuccessResponse({})); + return spy; + } } export default new TaskMockApi(); From dc37c9420d14da182e3d8de6f3bb792a641a6ead Mon Sep 17 00:00:00 2001 From: xinbinyan <404928130@qq.com> Date: Wed, 17 Jan 2024 17:38:59 +0800 Subject: [PATCH 02/18] case AuditDetail --- .../__snapshots__/index.test.tsx.snap | 383 +++ .../InstanceTasksStatus/index.test.tsx | 86 + .../List/__snapshots__/index.test.tsx.snap | 460 +++ .../Order/AuditDetail/List/index.test.tsx | 80 + .../List/useOverviewActions.test.tsx | 140 + .../__snapshots__/index.test.tsx.snap | 777 +++++ .../ScheduleTimeModal/index.test.tsx | 125 + .../__snapshots__/index.test.tsx.snap | 3003 +++++++++++++++++ .../src/page/Order/AuditDetail/index.test.tsx | 224 ++ .../sqle/src/testUtils/mockApi/order/data.ts | 135 +- .../sqle/src/testUtils/mockApi/order/index.ts | 51 +- 11 files changed, 5461 insertions(+), 3 deletions(-) create mode 100644 packages/sqle/src/page/Order/AuditDetail/InstanceTasksStatus/__snapshots__/index.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/InstanceTasksStatus/index.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/List/__snapshots__/index.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/List/index.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/List/useOverviewActions.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/__snapshots__/index.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/index.test.tsx create mode 100644 packages/sqle/src/page/Order/AuditDetail/__snapshots__/index.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/AuditDetail/index.test.tsx diff --git a/packages/sqle/src/page/Order/AuditDetail/InstanceTasksStatus/__snapshots__/index.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/InstanceTasksStatus/__snapshots__/index.test.tsx.snap new file mode 100644 index 000000000..48611e6da --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/InstanceTasksStatus/__snapshots__/index.test.tsx.snap @@ -0,0 +1,383 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is exec_failed 1`] = ` + +
+
+ + + + + + + + + 上线失败 + +
+
+ +`; + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is exec_scheduled 1`] = ` + +
+
+ + + + + + + + 定时上线 + +
+
+ +`; + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is exec_succeeded 1`] = ` + +
+
+ + + + + + + + 上线成功 + +
+
+ +`; + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is executing 1`] = ` + +
+
+ + + + + + + + 正在上线 + +
+
+ +`; + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is manually_executed 1`] = ` + +
+
+ + + + + + + + 人工上线 + +
+
+ +`; + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is terminate_failed 1`] = ` + +
+
+ + + + + + + + + 中止失败 + +
+
+ +`; + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is terminate_succeeded 1`] = ` + +
+
+ + + + + + + + 中止成功 + +
+
+ +`; + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is terminating 1`] = ` + +
+
+ + + + + + + + 正在中止 + +
+
+ +`; + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is undefined 1`] = ` + +
+ + - + +
+ +`; + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is wait_for_audit 1`] = ` + +
+
+ + + + + + + 待审核 + +
+
+ +`; + +exports[`sqle/Order/AuditDetail/InstanceTasksStatus render snap when status is wait_for_execution 1`] = ` + +
+
+ + + + + + + + 待上线 + +
+
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/InstanceTasksStatus/index.test.tsx b/packages/sqle/src/page/Order/AuditDetail/InstanceTasksStatus/index.test.tsx new file mode 100644 index 000000000..34ea70606 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/InstanceTasksStatus/index.test.tsx @@ -0,0 +1,86 @@ +import InstanceTasksStatus from '.'; + +import { renderWithTheme } from '../../../../testUtils/customRender'; + +import { GetWorkflowTasksItemV2StatusEnum } from '@actiontech/shared/lib/api/sqle/service/common.enum'; + +describe('sqle/Order/AuditDetail/InstanceTasksStatus', () => { + const customRender = (status?: GetWorkflowTasksItemV2StatusEnum) => { + return renderWithTheme(); + }; + + it('render snap when status is undefined', () => { + const { baseElement } = customRender(); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when status is wait_for_audit', () => { + const { baseElement } = customRender( + GetWorkflowTasksItemV2StatusEnum.wait_for_audit + ); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when status is wait_for_execution', () => { + const { baseElement } = customRender( + GetWorkflowTasksItemV2StatusEnum.wait_for_execution + ); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when status is exec_scheduled', () => { + const { baseElement } = customRender( + GetWorkflowTasksItemV2StatusEnum.exec_scheduled + ); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when status is exec_succeeded', () => { + const { baseElement } = customRender( + GetWorkflowTasksItemV2StatusEnum.exec_succeeded + ); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when status is executing', () => { + const { baseElement } = customRender( + GetWorkflowTasksItemV2StatusEnum.executing + ); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when status is exec_failed', () => { + const { baseElement } = customRender( + GetWorkflowTasksItemV2StatusEnum.exec_failed + ); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when status is manually_executed', () => { + const { baseElement } = customRender( + GetWorkflowTasksItemV2StatusEnum.manually_executed + ); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when status is terminate_failed', () => { + const { baseElement } = customRender( + GetWorkflowTasksItemV2StatusEnum.terminate_failed + ); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when status is terminate_succeeded', () => { + const { baseElement } = customRender( + GetWorkflowTasksItemV2StatusEnum.terminate_succeeded + ); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when status is terminating', () => { + const { baseElement } = customRender( + GetWorkflowTasksItemV2StatusEnum.terminating + ); + expect(baseElement).toMatchSnapshot(); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/List/__snapshots__/index.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/List/__snapshots__/index.test.tsx.snap new file mode 100644 index 000000000..40c9fead1 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/List/__snapshots__/index.test.tsx.snap @@ -0,0 +1,460 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/OrderDetailAuditResultList render snap list when isArchive is false 1`] = ` + +
+
+
+
+
+ + + + + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 数据源 + + 状态 + + 审核通过率 + + 审核结果评分 + + 待操作人 + + 上线人 + + 上线开始时间 + + 上线结束时间 + + 定时上线时间 + + 操作 +
+
+
+
+
+
+
+
+
+
+ +`; + +exports[`sqle/Order/AuditDetail/OrderDetailAuditResultList render snap list when isArchive is true 1`] = ` + +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 数据源 + + 状态 + + 审核通过率 + + 审核结果评分 + + 待操作人 + + 上线人 + + 上线开始时间 + + 上线结束时间 + + 定时上线时间 +
+
+
+
+
+
+
+
+
+
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/List/index.test.tsx b/packages/sqle/src/page/Order/AuditDetail/List/index.test.tsx new file mode 100644 index 000000000..59f244ece --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/List/index.test.tsx @@ -0,0 +1,80 @@ +import OrderDetailAuditResultList from '.'; +import { OrderDetailAuditResultListProps } from './index.type'; + +import { renderWithThemeAndRedux } from '../../../../testUtils/customRender'; +import { cleanup, act } from '@testing-library/react'; +import { mockUseCurrentUser } from '@actiontech/shared/lib/testUtil/mockHook/mockUseCurrentUser'; +import order from '../../../../testUtils/mockApi/order'; +import { WorkflowRecordResV2StatusEnum } from '@actiontech/shared/lib/api/sqle/service/common.enum'; + +const workflowID = 'workflow ID'; +const projectName = 'project Name default'; + +describe('sqle/Order/AuditDetail/OrderDetailAuditResultList', () => { + const getOverviewListSuccessFn = jest.fn(); + const setAuditResultActiveKeyFn = jest.fn(); + const refreshOrderFn = jest.fn(); + + let requestGetSummaryOfInstanceTasks: jest.SpyInstance; + + const customRender = ( + params: { + orderStatus?: WorkflowRecordResV2StatusEnum; + isArchive: boolean; + refreshOverviewFlag: boolean; + } = { + isArchive: false, + refreshOverviewFlag: false + } + ) => { + const defaultParams: OrderDetailAuditResultListProps = { + workflowID, + projectName, + getOverviewListSuccessHandle: getOverviewListSuccessFn, + setAuditResultActiveKey: setAuditResultActiveKeyFn, + refreshOrder: refreshOrderFn, + ...params + }; + return renderWithThemeAndRedux( + + ); + }; + + beforeEach(() => { + jest.useFakeTimers(); + mockUseCurrentUser(); + order.mockAllApi(); + requestGetSummaryOfInstanceTasks = order.getSummaryOfInstanceTasks(); + // MUI: the styled(component)(...args) API requires all its args to be defined. + jest.spyOn(console, 'error').mockImplementation(() => {}); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + (console.error as jest.Mock).mockRestore(); + cleanup(); + }); + + it('render snap list when isArchive is false', async () => { + const { baseElement } = customRender(); + await act(async () => jest.advanceTimersByTime(1000)); + expect(baseElement).toMatchSnapshot(); + await act(async () => jest.advanceTimersByTime(2000)); + expect(requestGetSummaryOfInstanceTasks).toBeCalled(); + expect(requestGetSummaryOfInstanceTasks).toBeCalledWith({ + workflow_id: workflowID, + project_name: projectName + }); + }); + + it('render snap list when isArchive is true', async () => { + const { baseElement } = customRender({ + isArchive: true, + refreshOverviewFlag: true + }); + await act(async () => jest.advanceTimersByTime(3000)); + expect(requestGetSummaryOfInstanceTasks).toBeCalled(); + expect(baseElement).toMatchSnapshot(); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/List/useOverviewActions.test.tsx b/packages/sqle/src/page/Order/AuditDetail/List/useOverviewActions.test.tsx new file mode 100644 index 000000000..e5223f387 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/List/useOverviewActions.test.tsx @@ -0,0 +1,140 @@ +import useOverviewActions from './useOverviewActions'; + +import { renderWithTheme } from '../../../../testUtils/customRender'; +import { + cleanup, + renderHook, + act, + screen, + fireEvent +} from '@testing-library/react'; +import order from '../../../../testUtils/mockApi/order'; +import { GetWorkflowTasksItemV2StatusEnum } from '@actiontech/shared/lib/api/sqle/service/common.enum'; + +const projectName = 'default'; +const workflowID = 'workflow ID'; +const recordData = { + instance_name: 'instance_name', + status: GetWorkflowTasksItemV2StatusEnum.exec_failed, + task_id: 1, + task_score: 10 +}; + +const MockComponent = () => { + const { contextHolder, ...otherParams } = useOverviewActions({ + projectName, + workflowID, + refreshOverview: () => {}, + refreshOrder: () => {} + }); + + const clickFn = ( + name: 'sqlExecuteHandle' | 'sqlTerminateHandle' | 'scheduleTimeHandle' + ) => { + otherParams?.[name]('params string for mock component'); + }; + return ( + <> + {contextHolder} + + + + + ); +}; + +describe('sqle/Order/AuditDetail/OrderDetailAuditResultList/useOverviewActions', () => { + const refreshOverviewFn = jest.fn(); + const refreshOrderFn = jest.fn(); + + let requestSqlExecute: jest.SpyInstance; + let requestSqlTerminateTime: jest.SpyInstance; + let requestScheduleTime: jest.SpyInstance; + + const customRender = () => { + return renderHook(() => + useOverviewActions({ + projectName, + workflowID, + refreshOverview: refreshOverviewFn, + refreshOrder: refreshOrderFn + }) + ); + }; + + beforeEach(() => { + jest.useFakeTimers(); + order.mockAllApi(); + requestSqlExecute = order.executeOneTaskOnWorkflow(); + requestSqlTerminateTime = order.terminateSingleTaskByWorkflow(); + requestScheduleTime = order.updateWorkflowSchedule(); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + cleanup(); + }); + + it('render execute openScheduleModalAndSetCurrentTask', async () => { + const { result } = customRender(); + + expect(result.current.scheduleModalVisible).toBeFalsy(); + expect(result.current.currentTask).toBeNull(); + + await act(async () => { + result.current.openScheduleModalAndSetCurrentTask(recordData); + }); + expect(result.current.scheduleModalVisible).toBeTruthy(); + expect(result.current.currentTask).toEqual(recordData); + }); + + it('render execute sqlExecuteHandle', async () => { + renderWithTheme(); + + expect(screen.getByText('sqlExecuteHandle')).toBeInTheDocument(); + fireEvent.click(screen.getByText('sqlExecuteHandle')); + await act(async () => jest.advanceTimersByTime(3000)); + expect(requestSqlExecute).toBeCalled(); + expect(requestSqlExecute).toBeCalledWith({ + workflow_id: workflowID, + task_id: 'params string for mock component', + project_name: projectName + }); + }); + + it('render execute sqlTerminateHandle', async () => { + renderWithTheme(); + + expect(screen.getByText('sqlTerminateHandle')).toBeInTheDocument(); + fireEvent.click(screen.getByText('sqlTerminateHandle')); + await act(async () => jest.advanceTimersByTime(3000)); + expect(requestSqlTerminateTime).toBeCalled(); + expect(requestSqlTerminateTime).toBeCalledWith({ + workflow_id: workflowID, + task_id: 'params string for mock component', + project_name: projectName + }); + }); + + it('render execute scheduleTimeHandle', async () => { + renderWithTheme(); + + expect(screen.getByText('scheduleTimeHandle')).toBeInTheDocument(); + fireEvent.click(screen.getByText('scheduleTimeHandle')); + await act(async () => jest.advanceTimersByTime(3000)); + expect(requestScheduleTime).toBeCalled(); + expect(requestScheduleTime).toBeCalledWith({ + workflow_id: workflowID, + task_id: '', + schedule_time: 'params string for mock component', + project_name: projectName + }); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/__snapshots__/index.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/__snapshots__/index.test.tsx.snap new file mode 100644 index 000000000..684bc68ca --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/__snapshots__/index.test.tsx.snap @@ -0,0 +1,777 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/ScheduleTimeModal render snap when has maintenanceTime 1`] = ` + +
+
+
+
+
+ +
+ +`; + +exports[`sqle/Order/AuditDetail/ScheduleTimeModal render snap when has maintenanceTime 2`] = ` + +
+
+
+
+
+ +
+ +`; + +exports[`sqle/Order/AuditDetail/ScheduleTimeModal render snap when open is false 1`] = ` + +
+ +`; + +exports[`sqle/Order/AuditDetail/ScheduleTimeModal render snap when open is true 1`] = ` + +
+
+
+
+
+ +
+ +`; + +exports[`sqle/Order/AuditDetail/ScheduleTimeModal render snap when open is true 2`] = ` + +
+
+
+
+
+ +
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/index.test.tsx b/packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/index.test.tsx new file mode 100644 index 000000000..516b92a99 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/ScheduleTimeModal/index.test.tsx @@ -0,0 +1,125 @@ +import ScheduleTimeModal from '.'; +import { ScheduleTimeModalProps } from './index.type'; + +import { renderWithTheme } from '../../../../testUtils/customRender'; +import { act, cleanup, fireEvent, screen } from '@testing-library/react'; +import MockDate from 'mockdate'; +import dayjs from 'dayjs'; +import { getBySelector } from '@actiontech/shared/lib/testUtil/customQuery'; + +describe('sqle/Order/AuditDetail/ScheduleTimeModal', () => { + const closeScheduleModalFn = jest.fn(); + let submitFn = jest.fn(); + + const customRender = ( + params: Pick + ) => { + return renderWithTheme( + + ); + }; + + beforeEach(() => { + MockDate.set(dayjs('2023-12-18 12:00:00').valueOf()); + jest.useFakeTimers(); + // date picker : custom attr [hideSuperIcon] + jest.spyOn(console, 'error').mockImplementation(() => {}); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + MockDate.reset(); + (console.error as jest.Mock).mockRestore(); + cleanup(); + }); + + it('render snap when open is false', () => { + const { baseElement } = customRender({ open: false }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when open is true', async () => { + const { baseElement } = customRender({ open: true }); + + await act(async () => jest.advanceTimersByTime(500)); + expect(baseElement).toMatchSnapshot(); + expect(screen.getByText('取 消')).toBeInTheDocument(); + fireEvent.click(screen.getByText('取 消')); + await act(async () => jest.advanceTimersByTime(300)); + expect(closeScheduleModalFn).toBeCalled(); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when has maintenanceTime', async () => { + const { baseElement } = customRender({ + open: true, + maintenanceTime: [ + { + maintenance_start_time: { + hour: 1, + minute: 20 + }, + maintenance_stop_time: { + hour: 2, + minute: 0 + } + }, + { + maintenance_start_time: { + hour: 5, + minute: 20 + } + } + ] + }); + await act(async () => jest.advanceTimersByTime(500)); + expect(baseElement).toMatchSnapshot(); + + const timeInput = getBySelector( + '.ant-picker-input input#schedule_time', + baseElement + ); + fireEvent.input(timeInput, { + target: { + value: '2023-12-18 12:00:00' + } + }); + await act(async () => jest.advanceTimersByTime(500)); + fireEvent.blur(timeInput); + await act(async () => jest.advanceTimersByTime(300)); + + expect(screen.getAllByText('定时上线').length).toBe(2); + expect(baseElement).toMatchSnapshot(); + }); + + it('render submit btn', async () => { + submitFn.mockImplementation(() => new Promise(() => 1)); + const { baseElement } = customRender({ + open: true + }); + + const timeInput = getBySelector( + '.ant-picker-input input#schedule_time', + baseElement + ); + fireEvent.click(timeInput); + await act(async () => jest.advanceTimersByTime(300)); + + const dateEle = screen.getAllByText('29')[0]; + fireEvent.click(dateEle); + await act(async () => jest.advanceTimersByTime(300)); + fireEvent.click(screen.getByText('OK')); + await act(async () => jest.advanceTimersByTime(300)); + + const submitBtn = screen.getAllByText('定时上线')[1]; + fireEvent.click(submitBtn); + await act(async () => jest.advanceTimersByTime(300)); + expect(submitFn).toBeCalled(); + expect(submitFn).toBeCalledWith('2024-01-29T00:00:00+08:00'); + }); +}); diff --git a/packages/sqle/src/page/Order/AuditDetail/__snapshots__/index.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/__snapshots__/index.test.tsx.snap new file mode 100644 index 000000000..0e2cd10c8 --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/__snapshots__/index.test.tsx.snap @@ -0,0 +1,3003 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail render snap when has order info data 1`] = ` + +
+
+
+ 审核结果 +
+
+
+
+ + + +
+
+ +
+
+
+
+ + + + + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 数据源 + + 状态 + + 审核通过率 + + 审核结果评分 + + 待操作人 + + 上线人 + + 上线开始时间 + + 上线结束时间 + + 定时上线时间 +
+
+
+
+
+
+
+
+
+
+
+ +`; + +exports[`sqle/Order/AuditDetail render snap when has order info data 2`] = ` + +
+
+
+ 审核结果 +
+
+
+
+ + + +
+
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 数据源 + + 状态 + + 审核通过率 + + 审核结果评分 + + 待操作人 + + 上线人 + + 上线开始时间 + + 上线结束时间 + + 定时上线时间 +
+ mysql + +
+ + + + + + + + 上线成功 + +
+
+ + 100% + + + 100 + + + admin + + 2024-01-17 13:23:32 + + 2024-01-17 13:23:32 + + - +
+ mysql2 + +
+ + + + + + + + 上线成功 + +
+
+ + 100% + + + 100 + + + admin + + 2024-01-17 13:23:32 + + 2024-01-17 13:23:32 + + - +
+
+
+
+
+
+
+
+
+ +`; + +exports[`sqle/Order/AuditDetail render snap when has order info data 3`] = ` + +
+
+
+ 审核结果 +
+
+
+
+ + + +
+
+
+
+ +
+
+ +
+
+ 数据去重 +
+
+
+ +
+
+ +
+
+
+
+
+
+
+ + 全部状态 + +
+
+
+
+ + 准备执行 + +
+
+
+
+ + 正在执行 + +
+
+
+
+ + 执行成功 + +
+
+
+
+ + 执行失败 + +
+
+
+
+ + 人工执行 + +
+
+
+
+ + 正在中止 + +
+
+
+
+ + 中止成功 + +
+
+
+
+ + 中止失败 + +
+
+
+
+
+
+ + 3000 + % + + + 审核通过率 + +
+
+
+
+ + 40 + + + 审核结果评分 + +
+
+
+
+ + instance_schema 1 + + + Schema + +
+
+
+
+
+
+
+
+
+ + + + + + +
+
+
+
+
+
+
+
    +
  • + + 共 0 条数据 + +
  • +
  • + +
  • +
  • + + 1 + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+
+
+ +`; + +exports[`sqle/Order/AuditDetail render snap when no taskInfos 1`] = ` + +
+
+
+ 审核结果 +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 数据源 + + 状态 + + 审核通过率 + + 审核结果评分 + + 待操作人 + + 上线人 + + 上线开始时间 + + 上线结束时间 + + 定时上线时间 +
+
+
+
+
+
+
+
+
+
+
+ +`; + +exports[`sqle/Order/AuditDetail render snap when order info has action btn 1`] = ` + +
+
+
+ 审核结果 +
+
+
+
+ + + +
+
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 数据源 + + 状态 + + 审核通过率 + + 审核结果评分 + + 待操作人 + + 上线人 + + 上线开始时间 + + 上线结束时间 + + 定时上线时间 +
+ mysql + +
+ + + + + + + + 上线成功 + +
+
+ + 100% + + + 100 + + + admin + + 2024-01-17 13:23:32 + + 2024-01-17 13:23:32 + + - +
+ mysql2 + +
+ + + + + + + + 上线成功 + +
+
+ + 100% + + + 100 + + + admin + + 2024-01-17 13:23:32 + + 2024-01-17 13:23:32 + + - +
+
+
+
+
+
+
+
+
+ +`; diff --git a/packages/sqle/src/page/Order/AuditDetail/index.test.tsx b/packages/sqle/src/page/Order/AuditDetail/index.test.tsx new file mode 100644 index 000000000..07b3aba7a --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/index.test.tsx @@ -0,0 +1,224 @@ +import AuditDetail from '.'; +import { OrderDetailAuditResultProps } from './index.type'; + +import MockDate from 'mockdate'; +import dayjs from 'dayjs'; +import { act, cleanup, fireEvent, screen } from '@testing-library/react'; +import { renderWithTheme } from '../../../testUtils/customRender'; + +import order from '../../../testUtils/mockApi/order'; +import { mockUseCurrentUser } from '@actiontech/shared/lib/testUtil/mockHook/mockUseCurrentUser'; +import { + AuditTaskResData, + workflowsOverviewListData +} from '../../../testUtils/mockApi/order/data'; +import { IWorkflowResV2 } from '@actiontech/shared/lib/api/sqle/service/common'; +import { getAllBySelector } from '@actiontech/shared/lib/testUtil/customQuery'; +import { + AuditTaskResV1StatusEnum, + WorkflowRecordResV2StatusEnum +} from '@actiontech/shared/lib/api/sqle/service/common.enum'; + +const projectName = 'project name'; + +describe('sqle/Order/AuditDetail', () => { + const refreshOrderFn = jest.fn(); + const getOverviewListSuccessFn = jest.fn(); + + let requestGetAuditTaskSQLs: jest.SpyInstance; + + const customRender = ( + params: Omit< + OrderDetailAuditResultProps, + 'projectName' | 'getOverviewListSuccessHandle' | 'refreshOrder' + > + ) => { + return renderWithTheme( + + ); + }; + + beforeEach(() => { + MockDate.set(dayjs('2023-12-18 12:00:00').valueOf()); + jest.useFakeTimers(); + // date picker : custom attr [hideSuperIcon] + jest.spyOn(console, 'error').mockImplementation(() => {}); + order.mockAllApi(); + mockUseCurrentUser(); + requestGetAuditTaskSQLs = order.getAuditTaskSQLs(); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + MockDate.reset(); + (console.error as jest.Mock).mockRestore(); + cleanup(); + }); + + it('render snap when no taskInfos', () => { + const { baseElement } = customRender({ + taskInfos: [], + isArchive: true, + refreshOverviewFlag: true + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when has order info data', async () => { + const { baseElement } = customRender({ + taskInfos: AuditTaskResData, + orderInfo: workflowsOverviewListData as unknown as IWorkflowResV2, + isArchive: true, + refreshOverviewFlag: true + }); + await act(async () => jest.advanceTimersByTime(500)); + expect(baseElement).toMatchSnapshot(); + await act(async () => jest.advanceTimersByTime(2600)); + expect(baseElement).toMatchSnapshot(); + + const segmentItems = getAllBySelector( + '.instance-segmented-label', + baseElement + ); + expect(segmentItems.length).toBe(AuditTaskResData.length); + + fireEvent.click(segmentItems[1]); + await act(async () => jest.advanceTimersByTime(300)); + expect(baseElement).toMatchSnapshot(); + await act(async () => jest.advanceTimersByTime(2800)); + expect(requestGetAuditTaskSQLs).toBeCalled(); + }); + + it('render snap when order info has action btn', async () => { + const { baseElement } = customRender({ + taskInfos: [ + { + ...AuditTaskResData[0], + status: AuditTaskResV1StatusEnum.exec_success + }, + { + ...AuditTaskResData[1], + status: AuditTaskResV1StatusEnum.initialized + } + ], + orderInfo: { + ...workflowsOverviewListData, + record: { + status: WorkflowRecordResV2StatusEnum.wait_for_execution, + workflow_step_list: [] + }, + record_history_list: [] + } as unknown as IWorkflowResV2, + isArchive: true, + refreshOverviewFlag: false + }); + await act(async () => jest.advanceTimersByTime(3300)); + expect(baseElement).toMatchSnapshot(); + + const segmentItems = getAllBySelector( + '.instance-segmented-label', + baseElement + ); + fireEvent.click(segmentItems[1]); + await act(async () => jest.advanceTimersByTime(3300)); + expect(requestGetAuditTaskSQLs).toBeCalled(); + expect(requestGetAuditTaskSQLs).toBeCalledWith({ + filter_exec_status: undefined, + no_duplicate: false, + page_index: '1', + page_size: '20', + task_id: '2' + }); + expect(screen.getByText('筛选')).toBeInTheDocument(); + fireEvent.click(screen.getByText('筛选')); + await act(async () => jest.advanceTimersByTime(300)); + expect(screen.getByText('收起筛选')).toBeInTheDocument(); + fireEvent.click(screen.getByText('收起筛选')); + await act(async () => jest.advanceTimersByTime(300)); + }); + + it('render snap when click detail action', async () => { + const { baseElement } = customRender({ + taskInfos: [ + { + ...AuditTaskResData[0], + status: AuditTaskResV1StatusEnum.exec_success + }, + { + ...AuditTaskResData[1], + status: AuditTaskResV1StatusEnum.initialized + } + ], + orderInfo: { + ...workflowsOverviewListData, + record: { + status: WorkflowRecordResV2StatusEnum.wait_for_execution, + workflow_step_list: [] + }, + record_history_list: [] + } as unknown as IWorkflowResV2, + isArchive: true, + refreshOverviewFlag: false + }); + await act(async () => jest.advanceTimersByTime(3300)); + + const segmentItems = getAllBySelector( + '.instance-segmented-label', + baseElement + ); + fireEvent.click(segmentItems[1]); + + const statusItems = getAllBySelector( + '.audit-result-filter-container-borderless > div .ant-space-item' + ); + expect(statusItems.length).toBe(12); + expect(screen.getByText('执行失败')).toBeInTheDocument(); + fireEvent.click(screen.getByText('执行失败')); + await act(async () => jest.advanceTimersByTime(3300)); + expect(requestGetAuditTaskSQLs).nthCalledWith(1, { + filter_exec_status: undefined, + no_duplicate: false, + page_index: '1', + page_size: '20', + task_id: '2' + }); + + expect(screen.getByText('数据去重')).toBeInTheDocument(); + fireEvent.click(screen.getByText('数据去重')); + await act(async () => jest.advanceTimersByTime(3300)); + expect(requestGetAuditTaskSQLs).nthCalledWith(2, { + filter_exec_status: 'failed', + no_duplicate: false, + page_index: '1', + page_size: '20', + task_id: '2' + }); + expect(requestGetAuditTaskSQLs).nthCalledWith(3, { + filter_exec_status: 'failed', + no_duplicate: true, + page_index: '1', + page_size: '20', + task_id: '2' + }); + + expect(screen.getByText('分页展示')).toBeInTheDocument(); + fireEvent.click(screen.getByText('分页展示')); + await act(async () => jest.advanceTimersByTime(300)); + expect(screen.getByText('瀑布流展示')).toBeInTheDocument(); + fireEvent.click(screen.getByText('瀑布流展示')); + await act(async () => jest.advanceTimersByTime(3300)); + expect(requestGetAuditTaskSQLs).nthCalledWith(4, { + filter_exec_status: 'failed', + no_duplicate: true, + page_index: '1', + page_size: '20', + task_id: '2' + }); + }); +}); diff --git a/packages/sqle/src/testUtils/mockApi/order/data.ts b/packages/sqle/src/testUtils/mockApi/order/data.ts index cee011495..6ba372d90 100644 --- a/packages/sqle/src/testUtils/mockApi/order/data.ts +++ b/packages/sqle/src/testUtils/mockApi/order/data.ts @@ -1,8 +1,18 @@ -import { IAuditTaskResV1 } from '@actiontech/shared/lib/api/sqle/service/common'; +import { + IAuditTaskResV1, + IGetWorkflowTasksItemV2 +} from '@actiontech/shared/lib/api/sqle/service/common'; import { AuditTaskResV1AuditLevelEnum, AuditTaskResV1SqlSourceEnum, - AuditTaskResV1StatusEnum + AuditTaskResV1StatusEnum, + GetWorkflowTasksItemV2StatusEnum, + WorkflowRecordResV2StatusEnum, + WorkflowResV2ModeEnum, + WorkflowStepResV1StateEnum, + WorkflowStepResV1TypeEnum, + WorkflowStepResV2StateEnum, + WorkflowStepResV2TypeEnum } from '@actiontech/shared/lib/api/sqle/service/common.enum'; export const orderListData = [ @@ -99,3 +109,124 @@ export const AuditTaskResData: IAuditTaskResV1[] = [ task_id: 2 } ]; + +export const WorkflowTasksItemData: IGetWorkflowTasksItemV2[] = [ + { + task_id: 40, + instance_name: 'mysql', + status: GetWorkflowTasksItemV2StatusEnum.exec_succeeded, + exec_start_time: '2024-01-17T05:23:32Z', + exec_end_time: '2024-01-17T05:23:32Z', + task_pass_rate: 1, + task_score: 100, + instance_maintenance_times: [], + execution_user_name: 'admin' + }, + { + task_id: 41, + instance_name: 'mysql2', + status: GetWorkflowTasksItemV2StatusEnum.exec_succeeded, + exec_start_time: '2024-01-17T05:23:32Z', + exec_end_time: '2024-01-17T05:23:32Z', + task_pass_rate: 1, + task_score: 100, + instance_maintenance_times: [], + execution_user_name: 'admin' + } +]; + +export const getTasksInfoData = { + task_id: 40, + instance_name: 'mysql', + instance_db_type: 'MySQL', + instance_schema: 'dms', + audit_level: '', + score: 100, + pass_rate: 1, + status: 'exec_succeeded', + sql_source: 'form_data', + exec_start_time: '2024-01-17T05:23:32Z', + exec_end_time: '2024-01-17T05:23:32Z' +}; + +export const AuditTaskSQLsData = [ + { + number: 1, + exec_sql: 'SELECT * ', + sql_source_file: '', + audit_result: null, + audit_level: '', + audit_status: 'finished', + exec_result: '', + exec_status: 'initialized', + description: '' + } +]; + +export const workflowsOverviewListData = { + workflow_name: 'workflow_name', + workflow_id: '1747444197486497792', + desc: 'this is a desc', + mode: WorkflowResV2ModeEnum.different_sqls, + create_user_name: 'admin', + create_time: '2024-01-17T02:22:17Z', + record: { + tasks: [ + { + task_id: 40 + }, + { + task_id: 41 + } + ], + status: WorkflowRecordResV2StatusEnum.finished, + workflow_step_list: [ + { + number: 1, + type: WorkflowStepResV1TypeEnum.update_workflow, + operation_user_name: 'admin', + operation_time: '2024-01-17T02:58:37Z' + }, + { + workflow_step_id: 23, + number: 2, + type: WorkflowStepResV1TypeEnum.sql_review, + assignee_user_name_list: ['admin'], + operation_user_name: 'admin', + operation_time: '2024-01-17T03:36:25Z', + state: WorkflowStepResV1StateEnum.approved + }, + { + workflow_step_id: 24, + number: 3, + type: WorkflowStepResV1TypeEnum.sql_execute, + assignee_user_name_list: ['admin'], + state: WorkflowStepResV1StateEnum.approved + } + ] + }, + record_history_list: [ + { + tasks: [], + status: WorkflowRecordResV2StatusEnum.rejected, + workflow_step_list: [ + { + number: 1, + type: WorkflowStepResV2TypeEnum.create_workflow, + operation_user_name: 'admin', + operation_time: '2024-01-17T02:22:17Z' + }, + { + workflow_step_id: 21, + number: 2, + type: 'sql_review', + assignee_user_name_list: ['700200'], + operation_user_name: 'admin', + operation_time: '2024-01-17T02:58:16Z', + state: WorkflowStepResV2StateEnum.rejected, + reason: 'reason cont' + } + ] + } + ] +}; diff --git a/packages/sqle/src/testUtils/mockApi/order/index.ts b/packages/sqle/src/testUtils/mockApi/order/index.ts index 85b774aa2..d1d761163 100644 --- a/packages/sqle/src/testUtils/mockApi/order/index.ts +++ b/packages/sqle/src/testUtils/mockApi/order/index.ts @@ -4,7 +4,12 @@ import { } from '@actiontech/shared/lib/testUtil/mockApi'; import workflow from '@actiontech/shared/lib/api/sqle/service/workflow'; import task from '@actiontech/shared/lib/api/sqle/service/task'; -import { WorkflowTemplateData, orderListData } from './data'; +import { + AuditTaskSQLsData, + WorkflowTasksItemData, + WorkflowTemplateData, + orderListData +} from './data'; import { ResponseCode } from '@actiontech/shared/lib/enum'; class MockOrderApi implements MockSpyApy { @@ -20,6 +25,11 @@ class MockOrderApi implements MockSpyApy { this.updateWorkflow(); this.getAuditTaskSQLContent(); this.cancelWorkflow(); + this.getSummaryOfInstanceTasks(); + this.executeOneTaskOnWorkflow(); + this.terminateSingleTaskByWorkflow(); + this.updateWorkflowSchedule(); + this.getAuditTaskSQLs(); } public getWorkflows() { @@ -146,6 +156,45 @@ VALUES ('1234567890', 'example@email.com', '123456789012345678', '9876543210', ' spy.mockImplementation(() => createSpySuccessResponse({})); return spy; } + + public getSummaryOfInstanceTasks() { + const spy = jest.spyOn(workflow, 'getSummaryOfInstanceTasksV2'); + spy.mockImplementation(() => + createSpySuccessResponse({ + data: WorkflowTasksItemData + }) + ); + return spy; + } + + public executeOneTaskOnWorkflow() { + const spy = jest.spyOn(workflow, 'executeOneTaskOnWorkflowV2'); + spy.mockImplementation(() => createSpySuccessResponse({})); + return spy; + } + + public terminateSingleTaskByWorkflow() { + const spy = jest.spyOn(workflow, 'terminateSingleTaskByWorkflowV1'); + spy.mockImplementation(() => createSpySuccessResponse({})); + return spy; + } + + public updateWorkflowSchedule() { + const spy = jest.spyOn(workflow, 'updateWorkflowScheduleV2'); + spy.mockImplementation(() => createSpySuccessResponse({})); + return spy; + } + + public getAuditTaskSQLs() { + const spy = jest.spyOn(task, 'getAuditTaskSQLsV2'); + spy.mockImplementation(() => + createSpySuccessResponse({ + data: AuditTaskSQLsData, + total_nums: AuditTaskSQLsData.length + }) + ); + return spy; + } } export default new MockOrderApi(); From a9377e3cd57550b54e66a8dc3b3e5c047ff9b0ee Mon Sep 17 00:00:00 2001 From: xinbinyan <404928130@qq.com> Date: Wed, 17 Jan 2024 18:57:50 +0800 Subject: [PATCH 03/18] case AuditResultFilterContainer --- .../__snapshots__/index.test.tsx.snap | 578 ++++++++++++++++++ .../AuditResultFilterContainer/index.test.tsx | 95 +++ 2 files changed, 673 insertions(+) create mode 100644 packages/sqle/src/page/Order/Common/AuditResultFilterContainer/__snapshots__/index.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/Common/AuditResultFilterContainer/index.test.tsx diff --git a/packages/sqle/src/page/Order/Common/AuditResultFilterContainer/__snapshots__/index.test.tsx.snap b/packages/sqle/src/page/Order/Common/AuditResultFilterContainer/__snapshots__/index.test.tsx.snap new file mode 100644 index 000000000..ed99326b9 --- /dev/null +++ b/packages/sqle/src/page/Order/Common/AuditResultFilterContainer/__snapshots__/index.test.tsx.snap @@ -0,0 +1,578 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/Common/AuditResultFilterContainer render snap when auditLevel is error 1`] = ` + +
+
+
+
+
+ + a + +
+
+
+
+ + b + +
+
+
+
+
+
+ - + + 审核通过率 + +
+
+
+
+ - + + 审核结果评分 + +
+
+
+
+
+
+ +`; + +exports[`sqle/Order/Common/AuditResultFilterContainer render snap when auditLevel is normal 1`] = ` + +
+
+
+
+
+ + a + +
+
+
+
+ + b + +
+
+
+
+
+
+ - + + 审核通过率 + +
+
+
+
+ - + + 审核结果评分 + +
+
+
+
+
+
+ +`; + +exports[`sqle/Order/Common/AuditResultFilterContainer render snap when auditLevel is notice 1`] = ` + +
+
+
+
+
+ + a + +
+
+
+
+ + b + +
+
+
+
+
+
+ - + + 审核通过率 + +
+
+
+
+ - + + 审核结果评分 + +
+
+
+
+
+
+ +`; + +exports[`sqle/Order/Common/AuditResultFilterContainer render snap when auditLevel is warn 1`] = ` + +
+
+
+
+
+ + a + +
+
+
+
+ + b + +
+
+
+
+
+
+ - + + 审核通过率 + +
+
+
+
+ - + + 审核结果评分 + +
+
+
+
+
+
+ +`; + +exports[`sqle/Order/Common/AuditResultFilterContainer render snap when border is false 1`] = ` + +
+
+
+
+
+ + a + +
+
+
+
+ + b + +
+
+
+
+
+
+ - + + 审核通过率 + +
+
+
+
+ - + + 审核结果评分 + +
+
+
+
+
+
+ +`; + +exports[`sqle/Order/Common/AuditResultFilterContainer render snap when no optional parameters 1`] = ` + +
+
+
+
+
+ + a + +
+
+
+
+ + b + +
+
+
+
+
+
+ - + + 审核通过率 + +
+
+
+
+ - + + 审核结果评分 + +
+
+
+
+
+
+ +`; + +exports[`sqle/Order/Common/AuditResultFilterContainer render snap when other params 1`] = ` + +
+
+
+
+
+ + a + +
+
+
+
+ + b + +
+
+
+
+
+
+ + 100 + % + + + 审核通过率 + +
+
+
+
+ + 9 + + + 审核结果评分 + +
+
+
+
+ + schema name + + + Schema + +
+
+
+
+
+ +`; diff --git a/packages/sqle/src/page/Order/Common/AuditResultFilterContainer/index.test.tsx b/packages/sqle/src/page/Order/Common/AuditResultFilterContainer/index.test.tsx new file mode 100644 index 000000000..b532b7b01 --- /dev/null +++ b/packages/sqle/src/page/Order/Common/AuditResultFilterContainer/index.test.tsx @@ -0,0 +1,95 @@ +import AuditResultFilterContainer from '.'; +import { AuditResultFilterContainerProps } from './index.type'; + +import { renderWithTheme } from '../../../../testUtils/customRender'; +import { AuditTaskResV1AuditLevelEnum } from '@actiontech/shared/lib/api/sqle/service/common.enum'; + +const filterOptionsData = [ + { + value: 'a1', + label: 'a' + }, + { + value: 'b1', + label: 'b' + } +]; + +describe('sqle/Order/Common/AuditResultFilterContainer', () => { + const filterValueChangeFn = jest.fn(); + + const customRender = ( + params: Omit, 'filterValueChange'> + ) => { + return renderWithTheme( + + ); + }; + + it('render snap when no optional parameters', () => { + const { baseElement } = customRender({ + filterOptions: filterOptionsData, + filterValue: 'a', + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when auditLevel is normal', () => { + const { baseElement } = customRender({ + filterOptions: filterOptionsData, + filterValue: '', + auditLevel: AuditTaskResV1AuditLevelEnum.normal + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when auditLevel is error', () => { + const { baseElement } = customRender({ + filterOptions: filterOptionsData, + filterValue: '', + auditLevel: AuditTaskResV1AuditLevelEnum.error + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when auditLevel is notice', () => { + const { baseElement } = customRender({ + filterOptions: filterOptionsData, + filterValue: '', + auditLevel: AuditTaskResV1AuditLevelEnum.notice + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when auditLevel is warn', () => { + const { baseElement } = customRender({ + filterOptions: filterOptionsData, + filterValue: '', + auditLevel: AuditTaskResV1AuditLevelEnum.warn + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when border is false', () => { + const { baseElement } = customRender({ + filterOptions: filterOptionsData, + filterValue: '', + bordered: false + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when other params', () => { + const { baseElement } = customRender({ + filterOptions: filterOptionsData, + filterValue: '', + passRate: 1, + score: 9, + instanceSchemaName: 'schema name', + }); + expect(baseElement).toMatchSnapshot(); + }) +}); From aad0c589b3c36d6a656420f71a2411f6ce44f433 Mon Sep 17 00:00:00 2001 From: xinbinyan <404928130@qq.com> Date: Wed, 17 Jan 2024 20:52:03 +0800 Subject: [PATCH 04/18] case common AuditResultFilterContainer --- .../__snapshots__/ResultCard.ce.test.tsx.snap | 2788 +++++++++++++++++ .../AuditResultFilterContainer/index.test.tsx | 6 +- .../List/AuditResultDrawer.test.tsx | 63 + .../AuditResultDrawer.test.tsx.snap | 191 ++ .../List/__snapshots__/index.ce.test.tsx.snap | 1075 +++++++ .../List/__snapshots__/index.test.tsx.snap | 1805 +++++++++++ .../AuditResultList/List/index.ce.test.tsx | 100 + .../AuditResultList/List/index.test.tsx | 129 + .../test/useGenerateOrderStepsProps.test.ts | 23 + .../hooks/useGenerateOrderStepsProps.ts | 2 +- .../sqle/src/testUtils/mockApi/order/index.ts | 7 + 11 files changed, 6185 insertions(+), 4 deletions(-) create mode 100644 packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultCard.ce.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/Common/AuditResultList/List/AuditResultDrawer.test.tsx create mode 100644 packages/sqle/src/page/Order/Common/AuditResultList/List/__snapshots__/AuditResultDrawer.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/Common/AuditResultList/List/__snapshots__/index.ce.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/Common/AuditResultList/List/__snapshots__/index.test.tsx.snap create mode 100644 packages/sqle/src/page/Order/Common/AuditResultList/List/index.ce.test.tsx create mode 100644 packages/sqle/src/page/Order/Common/AuditResultList/List/index.test.tsx create mode 100644 packages/sqle/src/page/Order/Detail/hooks/test/useGenerateOrderStepsProps.test.ts diff --git a/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultCard.ce.test.tsx.snap b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultCard.ce.test.tsx.snap new file mode 100644 index 000000000..0e2e3ddcf --- /dev/null +++ b/packages/sqle/src/page/Order/AuditDetail/DataSourceResultList/components/test/__snapshots__/ResultCard.ce.test.tsx.snap @@ -0,0 +1,2788 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/AuditDetail/ResultCard render change exec_sql & rollback_sql 1`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + + exec_sql cont +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render change exec_sql & rollback_sql 2`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + + rollback_sql cont +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render change exec_sql & rollback_sql 3`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + + exec_sql cont +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render click add desc 1`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render click add desc 2`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render click icon arrow when has result cont 1`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render click icon arrow when no cont 1`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; + +exports[`sqle/Order/AuditDetail/ResultCard render snap when data is empty 1`] = ` + +
+
+
+
+
+ + # + 1 + +
+
+
+ + +
+
+
+
+ +
+
+
+
+
+
+ 执行语句 +
+
+ 回滚语句 +
+
+
+
+            
+              
+ + 1 + +
+
+
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+
+ +`; diff --git a/packages/sqle/src/page/Order/Common/AuditResultFilterContainer/index.test.tsx b/packages/sqle/src/page/Order/Common/AuditResultFilterContainer/index.test.tsx index b532b7b01..a970c8907 100644 --- a/packages/sqle/src/page/Order/Common/AuditResultFilterContainer/index.test.tsx +++ b/packages/sqle/src/page/Order/Common/AuditResultFilterContainer/index.test.tsx @@ -32,7 +32,7 @@ describe('sqle/Order/Common/AuditResultFilterContainer', () => { it('render snap when no optional parameters', () => { const { baseElement } = customRender({ filterOptions: filterOptionsData, - filterValue: 'a', + filterValue: 'a' }); expect(baseElement).toMatchSnapshot(); }); @@ -88,8 +88,8 @@ describe('sqle/Order/Common/AuditResultFilterContainer', () => { filterValue: '', passRate: 1, score: 9, - instanceSchemaName: 'schema name', + instanceSchemaName: 'schema name' }); expect(baseElement).toMatchSnapshot(); - }) + }); }); diff --git a/packages/sqle/src/page/Order/Common/AuditResultList/List/AuditResultDrawer.test.tsx b/packages/sqle/src/page/Order/Common/AuditResultList/List/AuditResultDrawer.test.tsx new file mode 100644 index 000000000..df06c739a --- /dev/null +++ b/packages/sqle/src/page/Order/Common/AuditResultList/List/AuditResultDrawer.test.tsx @@ -0,0 +1,63 @@ +import { AuditResultDrawerProps } from '../../../Create/AuditResult/index.type'; +import AuditResultDrawer from './AuditResultDrawer'; + +import { renderWithTheme } from '../../../../../testUtils/customRender'; +import { getBySelector } from '@actiontech/shared/lib/testUtil/customQuery'; +import { fireEvent, act, cleanup } from '@testing-library/react'; + +describe('sqle/Order/Common/AuditResultList/AuditResultDrawer', () => { + const onCloseFn = jest.fn(); + + const customRender = (params: Omit) => { + return renderWithTheme( + + ); + }; + + beforeEach(() => { + jest.useFakeTimers(); + }); + + afterEach(() => { + jest.useRealTimers(); + jest.clearAllMocks(); + cleanup(); + }); + + it('render snap when open is false', () => { + const { baseElement } = customRender({ + open: false + }); + expect(baseElement).toMatchSnapshot(); + }); + + it('render snap when data is empty and click closed', async () => { + const { baseElement } = customRender({ + open: true + }); + + const closedIcon = getBySelector('.closed-icon-custom', baseElement); + fireEvent.click(closedIcon); + await act(async () => jest.advanceTimersByTime(300)); + expect(onCloseFn).toBeCalled(); + }); + + it('render snap when title has data', () => { + const { baseElement } = customRender({ + open: true, + auditResultRecord: { + audit_level: '', + audit_result: [], + audit_status: '', + description: 'description cont', + exec_result: '', + exec_sql: 'exec sql', + exec_status: '', + number: 30, + rollback_sql: 'rollback sql', + sql_source_file: 'sql file' + } + }); + expect(baseElement).toMatchSnapshot(); + }); +}); diff --git a/packages/sqle/src/page/Order/Common/AuditResultList/List/__snapshots__/AuditResultDrawer.test.tsx.snap b/packages/sqle/src/page/Order/Common/AuditResultList/List/__snapshots__/AuditResultDrawer.test.tsx.snap new file mode 100644 index 000000000..4500e941e --- /dev/null +++ b/packages/sqle/src/page/Order/Common/AuditResultList/List/__snapshots__/AuditResultDrawer.test.tsx.snap @@ -0,0 +1,191 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/Common/AuditResultList/AuditResultDrawer render snap when open is false 1`] = ` + +
+ +`; + +exports[`sqle/Order/Common/AuditResultList/AuditResultDrawer render snap when title has data 1`] = ` + +
+
+
+
+ + +`; diff --git a/packages/sqle/src/page/Order/Common/AuditResultList/List/__snapshots__/index.ce.test.tsx.snap b/packages/sqle/src/page/Order/Common/AuditResultList/List/__snapshots__/index.ce.test.tsx.snap new file mode 100644 index 000000000..7d53c862f --- /dev/null +++ b/packages/sqle/src/page/Order/Common/AuditResultList/List/__snapshots__/index.ce.test.tsx.snap @@ -0,0 +1,1075 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`sqle/Order/Common/AuditResultList render snap when add note 1`] = ` + +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 序号 + + 执行语句 + + 审核结果 + + 说明 +
+ 1 + +
+
+ + + SELECT + + + + * + + + +
+
+ + + +
+
+
+
+
+ + + + + + + 审核通过 + +
+
+
+
+ + + + +
+
+
+
+
+
    +
  • + + 共 1 条数据 + +
  • +
  • + +
  • +
  • + + 1 + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+
+ + + + +
+ + + + +
+
+
+
    +
  • + + 共 1 条数据 + +
  • +
  • + +
  • +
  • + + 1 + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+
+ + + + +
+ + +
+
+
+ +
+
+
+ + + + +
+
+
+
    +
  • + + 共 1 条数据 + +
  • +
  • + +
  • +
  • + + 1 + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+
+ + + + +
+ + +
+
+
+ +
+
+
+ + + + +
+
+
+
    +
  • + + 共 1 条数据 + +
  • +
  • + +
  • +
  • + + 1 + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+
+
+