@@ -26,7 +26,6 @@ import {
2626} from '@actiontech/shared/lib/testUtil' ;
2727import { useSelector } from 'react-redux' ;
2828import { ModalName } from '../../../data/ModalName' ;
29- import sqlOptimization from '@actiontech/shared/lib/testUtil/mockApi/sqle/sqlOptimization' ;
3029
3130jest . mock ( 'react-router' , ( ) => {
3231 return {
@@ -70,7 +69,8 @@ describe('SqlAnalyze/ManagementConfAnalyze', () => {
7069 getInstanceTipListSpy = sqleMockApi . instance . getInstanceTipList ( ) ;
7170 mockUsePermission (
7271 {
73- checkPagePermission : jest . fn ( ) . mockReturnValue ( true )
72+ checkPagePermission : jest . fn ( ) . mockReturnValue ( true ) ,
73+ checkActionPermission : jest . fn ( ) . mockReturnValue ( true )
7474 } ,
7575 { useSpyOnMockHooks : true }
7676 ) ;
@@ -211,7 +211,7 @@ describe('SqlAnalyze/ManagementConfAnalyze', () => {
211211 expect ( container ) . toMatchSnapshot ( ) ;
212212 } ) ;
213213
214- it ( 'should create sql optimization task' , async ( ) => {
214+ it ( 'should create sql optimization task with enable_high_analysis ' , async ( ) => {
215215 const spy = mockGetAnalyzeData ( true ) ;
216216 superRender ( < ManagementConfAnalyze /> , undefined , {
217217 routerProps : {
@@ -227,9 +227,48 @@ describe('SqlAnalyze/ManagementConfAnalyze', () => {
227227 } ) ;
228228 await act ( async ( ) => jest . advanceTimersByTime ( 3000 ) ) ;
229229 expect ( getInstanceTipListSpy ) . toHaveBeenCalledTimes ( 1 ) ;
230+
230231 fireEvent . click ( screen . getByText ( 'SQL优化' ) ) ;
231232 await act ( async ( ) => jest . advanceTimersByTime ( 0 ) ) ;
233+
234+ expect ( screen . getByText ( '是,启用高精度推荐' ) ) . toBeInTheDocument ( ) ;
235+ expect ( screen . getByText ( '否,使用常规推荐' ) ) . toBeInTheDocument ( ) ;
236+
237+ fireEvent . click ( screen . getByText ( '是,启用高精度推荐' ) ) ;
238+ await act ( async ( ) => jest . advanceTimersByTime ( 0 ) ) ;
239+
232240 expect ( sqlOptimizeSpy ) . toHaveBeenCalledTimes ( 1 ) ;
241+ expect ( sqlOptimizeSpy ) . toHaveBeenCalledWith (
242+ expect . objectContaining ( {
243+ enable_high_analysis : true ,
244+ instance_name : 'Mysql1' ,
245+ schema_name : 'sqle'
246+ } )
247+ ) ;
248+ } ) ;
249+
250+ it ( 'should create sql optimization task without enable_high_analysis' , async ( ) => {
251+ mockGetAnalyzeData ( true ) ;
252+ superRender ( < ManagementConfAnalyze /> , undefined , {
253+ routerProps : {
254+ initialEntries : [ '/analyze?instance_name=Mysql1&schema=sqle' ]
255+ }
256+ } ) ;
257+ await act ( async ( ) => jest . advanceTimersByTime ( 3000 ) ) ;
258+
259+ fireEvent . click ( screen . getByText ( 'SQL优化' ) ) ;
260+ await act ( async ( ) => jest . advanceTimersByTime ( 0 ) ) ;
261+
262+ fireEvent . click ( screen . getByText ( '否,使用常规推荐' ) ) ;
263+ await act ( async ( ) => jest . advanceTimersByTime ( 0 ) ) ;
264+
265+ expect ( sqlOptimizeSpy ) . toHaveBeenCalledWith (
266+ expect . objectContaining ( {
267+ enable_high_analysis : false ,
268+ instance_name : 'Mysql1' ,
269+ schema_name : 'sqle'
270+ } )
271+ ) ;
233272 } ) ;
234273
235274 test ( 'should render error result of type "error" when response code is not 8001' , async ( ) => {
0 commit comments