@@ -48,10 +48,12 @@ const TestMigration = () => {
4848 const [ data , setData ] = useState < MigrationType > ( { } ) ;
4949 const [ isLoading , setIsLoading ] = useState ( newMigrationData ?. isprojectMapped ) ;
5050 const [ isStackLoading , setIsStackLoading ] = useState < boolean > ( false ) ;
51- const [ disableTestMigration , setdisableTestMigration ] = useState < boolean > ( newMigrationData ?. test_migration ?. isMigrationStarted ) ;
51+ const [ disableTestMigration , setDisableTestMigration ] = useState < boolean > ( newMigrationData ?. test_migration ?. isMigrationStarted ) ;
5252
53- const [ disableCreateStack , setDisableCreateStack ] = useState < boolean > ( newMigrationData ?. test_migration ?. stack_api_key && ! newMigrationData ?. testStacks ?. find ( ( stack ) => stack ?. stackUid === newMigrationData ?. test_migration ?. stack_api_key ) ?. isMigrated || newMigrationData ?. test_migration ?. isMigrationStarted ) ;
53+ const [ disableCreateStack , setDisableCreateStack ] = useState < boolean > ( false ) ;
5454 const [ stackLimitReached , setStackLimitReached ] = useState < boolean > ( false ) ;
55+
56+
5557
5658 // Extract project ID from URL parameters
5759 const { projectId = '' } = useParams ( ) ;
@@ -78,28 +80,31 @@ const TestMigration = () => {
7880 * to disable Create Test Stack and Start Test Migration buttons as per isMigrated state
7981 */
8082 useEffect ( ( ) => {
81- if ( ! newMigrationData ?. testStacks ?. find ( ( stack ) => stack ?. stackUid === newMigrationData ?. test_migration ?. stack_api_key ) ?. isMigrated && ! disableTestMigration ) {
82- //setDisableCreateStack(false);
83- }
83+ // Check if the stack_api_key exists and evaluate the logic
84+ const shouldDisable = newMigrationData ?. test_migration ?. stack_api_key
85+ ? ! newMigrationData ?. testStacks ?. some (
86+ ( stack ) =>
87+ stack ?. stackUid === newMigrationData ?. test_migration ?. stack_api_key &&
88+ stack . isMigrated
89+ ) || newMigrationData ?. test_migration ?. isMigrationStarted
90+ : false ;
91+
92+ setDisableCreateStack ( shouldDisable ) ;
8493
8594 if ( newMigrationData ?. testStacks ?. find ( ( stack ) => stack ?. stackUid === newMigrationData ?. test_migration ?. stack_api_key ) ?. isMigrated === true ) {
86- setdisableTestMigration ( true ) ;
95+ setDisableTestMigration ( true ) ;
8796 }
88- } , [ newMigrationData ?. testStacks ] ) ;
97+ } , [ newMigrationData ] ) ;
8998
9099 useEffect ( ( ) => {
91-
92100 // Retrieve and apply saved state from sessionStorage
93101 const savedState = getStateFromLocalStorage ( projectId ) ;
94102 if ( savedState ) {
95- setdisableTestMigration ( savedState ?. isTestMigrationStarted ) ;
103+ setDisableTestMigration ( savedState ?. isTestMigrationStarted ) ;
96104 setDisableCreateStack ( savedState ?. isTestMigrationStarted ) ;
97105 }
98-
99106 } , [ ] ) ;
100107
101-
102-
103108 /**
104109 * Handles create test stack function
105110 */
@@ -152,7 +157,7 @@ const TestMigration = () => {
152157 if ( res ?. status === 200 ) {
153158 setIsStackLoading ( false ) ;
154159 setDisableCreateStack ( true ) ;
155- setdisableTestMigration ( false )
160+ setDisableTestMigration ( false )
156161 Notification ( {
157162 notificationContent : { text : 'Test Stack created successfully' } ,
158163 notificationProps : {
@@ -185,7 +190,7 @@ const TestMigration = () => {
185190 ) ;
186191
187192 if ( testRes ?. status === 200 ) {
188- setdisableTestMigration ( true ) ;
193+ setDisableTestMigration ( true ) ;
189194
190195 //dispatch test migration started flag in redux
191196 const newMigrationDataObj : INewMigration = {
@@ -225,7 +230,7 @@ const TestMigration = () => {
225230 const handleMigrationState = ( newState : boolean ) => {
226231 setDisableCreateStack ( newState ) ;
227232 if ( newMigrationData ?. testStacks ?. find ( ( stack ) => stack ?. stackUid === newMigrationData ?. test_migration ?. stack_api_key ) ?. isMigrated === true ) {
228- setdisableTestMigration ( ! newState ) ;
233+ setDisableTestMigration ( ! newState ) ;
229234 }
230235 } ;
231236
0 commit comments