@@ -45,6 +45,7 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
4545
4646 let signatureIclaID = '' ;
4747 let signatureCclaID = '' ;
48+ let projectCompanySignatureID = '' ;
4849 let signatureID = '' ;
4950 let signatureApproved = true ;
5051 let allowFail : boolean = ! ( Cypress . env ( 'ALLOW_FAIL' ) === 1 ) ;
@@ -72,10 +73,21 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
7273 } ,
7374 } ) ;
7475
75- const findProjectCompanySignature = ( signatures : any [ ] ) =>
76- signatures . find ( ( item : any ) => item . signatureID === signatureCclaID ) || signatures [ 0 ] ;
76+ const findProjectCompanySignature = ( signatures : any [ ] , signatureID ?: string ) =>
77+ signatures . find ( ( item : any ) => item . signatureID === signatureID ) || signatures [ 0 ] ;
78+
79+ const extractApprovalValues = ( list : any [ ] = [ ] ) =>
80+ list
81+ . map ( ( item : any ) => {
82+ if ( typeof item === 'string' ) {
83+ return item ;
84+ }
85+ return item ?. approvalItem || item ?. approval_item ;
86+ } )
87+ . filter ( Boolean ) ;
7788
7889 const waitForDomainApprovalListState = (
90+ signatureID : string ,
7991 domain : string ,
8092 shouldExist : boolean ,
8193 retries : number = 6 ,
@@ -84,11 +96,11 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
8496 getProjectCompanySignatures ( ) . then ( ( response ) => {
8597 validate_200_Status ( response ) ;
8698 const signatures = response . body . signatures || [ ] ;
87- const signature = findProjectCompanySignature ( signatures ) ;
99+ const signature = findProjectCompanySignature ( signatures , signatureID ) ;
88100
89- expect ( signature , `CCLA signature ${ signatureCclaID } should exist` ) . to . exist ;
101+ expect ( signature , `CCLA signature ${ signatureID } should exist` ) . to . exist ;
90102
91- const list = signature . domainApprovalList || [ ] ;
103+ const list = extractApprovalValues ( signature . domainApprovalList || [ ] ) ;
92104 const isPresent = list . includes ( domain ) ;
93105
94106 if ( isPresent === shouldExist ) {
@@ -416,6 +428,9 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
416428 expect ( signatures [ i ] . companyName ) . to . eql ( companyName ) ;
417429 expect ( signatures [ i ] . claType ) . to . eql ( 'ccla' ) ;
418430 }
431+ if ( ! projectCompanySignatureID && signatures . length > 0 ) {
432+ projectCompanySignatureID = signatures [ 0 ] . signatureID ;
433+ }
419434 validateApiResponse ( 'signatures/getProjectCompanySignatures.json' , response ) ;
420435 } ) ;
421436 } ) ;
@@ -835,7 +850,8 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
835850 return cy . logJson ( 'response' , response ) . then ( ( ) => {
836851 validate_200_Status ( response ) ;
837852 cy . task ( 'log' , 'domain ' + domainApprovalList + ' should be added to approval list' ) ;
838- return waitForDomainApprovalListState ( domainApprovalList , true ) ;
853+ projectCompanySignatureID = response . body . signatureID || projectCompanySignatureID ;
854+ return waitForDomainApprovalListState ( projectCompanySignatureID , domainApprovalList , true ) ;
839855 } ) ;
840856 } ) ;
841857 } ) ;
@@ -857,7 +873,8 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
857873 return cy . logJson ( 'response' , response ) . then ( ( ) => {
858874 validate_200_Status ( response ) ;
859875 cy . task ( 'log' , 'domain ' + domainApprovalList + ' should be removed from approval list' ) ;
860- return waitForDomainApprovalListState ( domainApprovalList , false ) ;
876+ projectCompanySignatureID = response . body . signatureID || projectCompanySignatureID ;
877+ return waitForDomainApprovalListState ( projectCompanySignatureID , domainApprovalList , false ) ;
861878 } ) ;
862879 } ) ;
863880 } ) ;
0 commit comments