1
1
import React from 'react'
2
2
import { cleanup , fireEvent , render , screen } from 'uiSrc/utils/test-utils'
3
- import { CreateIndexStepWrapper } from './CreateIndexStepWrapper'
3
+ import {
4
+ CreateIndexStepWrapper ,
5
+ CreateIndexStepWrapperProps ,
6
+ VectorIndexTab ,
7
+ } from './CreateIndexStepWrapper'
4
8
5
- const renderComponent = ( ) => render ( < CreateIndexStepWrapper /> )
9
+ const renderComponent = ( props ?: Partial < CreateIndexStepWrapperProps > ) =>
10
+ render ( < CreateIndexStepWrapper { ...props } /> )
6
11
7
12
describe ( 'CreateIndexStepWrapper' , ( ) => {
8
13
beforeEach ( ( ) => {
@@ -23,22 +28,42 @@ describe('CreateIndexStepWrapper', () => {
23
28
24
29
// Check if the "Use preset index" tab content is selected by default
25
30
const usePresetIIndexTabContent = screen . queryByTestId (
26
- 'vector-inde -tabs--use-preset-index-content' ,
31
+ 'vector-index -tabs--use-preset-index-content' ,
27
32
)
28
33
expect ( usePresetIIndexTabContent ) . toBeInTheDocument ( )
29
34
} )
30
35
31
36
it ( 'should switch to "Use preset index" tab when clicked' , ( ) => {
32
- renderComponent ( )
37
+ const props : CreateIndexStepWrapperProps = {
38
+ tabs : [
39
+ {
40
+ value : VectorIndexTab . BuildNewIndex ,
41
+ label : 'Build new index' ,
42
+ } ,
43
+ {
44
+ value : VectorIndexTab . UsePresetIndex ,
45
+ label : 'Use preset index' ,
46
+ } ,
47
+ ] ,
48
+ }
49
+
50
+ renderComponent ( props )
51
+
52
+ // Verify the initial render to ensure "Build new index" is selected
53
+ const buildNewIndexTabContent = screen . queryByTestId (
54
+ 'vector-index-tabs--build-new-index-content' ,
55
+ )
56
+ expect ( buildNewIndexTabContent ) . toBeInTheDocument ( )
33
57
58
+ // Click on the "Use preset index" tab
34
59
const buildNewIndexTabTrigger = screen . getByText ( 'Use preset index' )
35
60
fireEvent . click ( buildNewIndexTabTrigger )
36
61
37
62
// Check if the "Use preset index" tab is rendered
38
- const buildNewIndexTabContent = screen . queryByTestId (
39
- 'vector-inde -tabs--use-preset-index-content' ,
63
+ const usePresetIndexTabContent = screen . queryByTestId (
64
+ 'vector-index -tabs--use-preset-index-content' ,
40
65
)
41
- expect ( buildNewIndexTabContent ) . toBeInTheDocument ( )
66
+ expect ( usePresetIndexTabContent ) . toBeInTheDocument ( )
42
67
} )
43
68
44
69
it ( "shouldn't switch to 'Build new index' tab when clicked, since it is disabled" , ( ) => {
@@ -48,15 +73,14 @@ describe('CreateIndexStepWrapper', () => {
48
73
const buildNewIndexTabTriggerButton =
49
74
buildNewIndexTabTriggerLabel . closest ( '[type="button"]' )
50
75
51
- expect ( buildNewIndexTabTriggerButton ) . toHaveAttribute ( 'disabled' )
52
- expect ( buildNewIndexTabTriggerButton ) . toHaveAttribute ( 'data-disabled' )
76
+ expect ( buildNewIndexTabTriggerButton ) . toBeDisabled ( )
53
77
54
78
// And when clicked, it should not change the active tab
55
79
fireEvent . click ( buildNewIndexTabTriggerLabel )
56
80
57
81
// Check if the "Use preset index" tab is still active
58
82
const usePresetIndexTabContent = screen . queryByTestId (
59
- 'vector-inde -tabs--use-preset-index-content' ,
83
+ 'vector-index -tabs--use-preset-index-content' ,
60
84
)
61
85
expect ( usePresetIndexTabContent ) . toBeInTheDocument ( )
62
86
} )
0 commit comments