@@ -44,6 +44,7 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
4444
4545 let signatureIclaID = '' ;
4646 let signatureCclaID = '' ;
47+ let projectCompanySignatureID = '' ;
4748 let signatureID = '' ;
4849 let signatureApproved = true ;
4950 let allowFail : boolean = ! ( Cypress . env ( 'ALLOW_FAIL' ) === 1 ) ;
@@ -71,10 +72,21 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
7172 } ,
7273 } ) ;
7374
74- const findProjectCompanySignature = ( signatures : any [ ] ) =>
75- signatures . find ( ( item : any ) => item . signatureID === signatureCclaID ) || signatures [ 0 ] ;
75+ const findProjectCompanySignature = ( signatures : any [ ] , signatureID ?: string ) =>
76+ signatures . find ( ( item : any ) => item . signatureID === signatureID ) || signatures [ 0 ] ;
77+
78+ const extractApprovalValues = ( list : any [ ] = [ ] ) =>
79+ list
80+ . map ( ( item : any ) => {
81+ if ( typeof item === 'string' ) {
82+ return item ;
83+ }
84+ return item ?. approvalItem || item ?. approval_item ;
85+ } )
86+ . filter ( Boolean ) ;
7687
7788 const waitForDomainApprovalListState = (
89+ signatureID : string ,
7890 domain : string ,
7991 shouldExist : boolean ,
8092 retries : number = 6 ,
@@ -83,11 +95,11 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
8395 getProjectCompanySignatures ( ) . then ( ( response ) => {
8496 validate_200_Status ( response ) ;
8597 const signatures = response . body . signatures || [ ] ;
86- const signature = findProjectCompanySignature ( signatures ) ;
98+ const signature = findProjectCompanySignature ( signatures , signatureID ) ;
8799
88- expect ( signature , `CCLA signature ${ signatureCclaID } should exist` ) . to . exist ;
100+ expect ( signature , `CCLA signature ${ signatureID } should exist` ) . to . exist ;
89101
90- const list = signature . domainApprovalList || [ ] ;
102+ const list = extractApprovalValues ( signature . domainApprovalList || [ ] ) ;
91103 const isPresent = list . includes ( domain ) ;
92104
93105 if ( isPresent === shouldExist ) {
@@ -415,6 +427,9 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
415427 expect ( signatures [ i ] . companyName ) . to . eql ( companyName ) ;
416428 expect ( signatures [ i ] . claType ) . to . eql ( 'ccla' ) ;
417429 }
430+ if ( ! projectCompanySignatureID && signatures . length > 0 ) {
431+ projectCompanySignatureID = signatures [ 0 ] . signatureID ;
432+ }
418433 validateApiResponse ( 'signatures/getProjectCompanySignatures.json' , response ) ;
419434 } ) ;
420435 } ) ;
@@ -834,7 +849,8 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
834849 return cy . logJson ( 'response' , response ) . then ( ( ) => {
835850 validate_200_Status ( response ) ;
836851 cy . task ( 'log' , 'domain ' + domainApprovalList + ' should be added to approval list' ) ;
837- return waitForDomainApprovalListState ( domainApprovalList , true ) ;
852+ projectCompanySignatureID = response . body . signatureID || projectCompanySignatureID ;
853+ return waitForDomainApprovalListState ( projectCompanySignatureID , domainApprovalList , true ) ;
838854 } ) ;
839855 } ) ;
840856 } ) ;
@@ -856,7 +872,8 @@ describe('To Validate & get list of signatures of ClaGroups via API call', funct
856872 return cy . logJson ( 'response' , response ) . then ( ( ) => {
857873 validate_200_Status ( response ) ;
858874 cy . task ( 'log' , 'domain ' + domainApprovalList + ' should be removed from approval list' ) ;
859- return waitForDomainApprovalListState ( domainApprovalList , false ) ;
875+ projectCompanySignatureID = response . body . signatureID || projectCompanySignatureID ;
876+ return waitForDomainApprovalListState ( projectCompanySignatureID , domainApprovalList , false ) ;
860877 } ) ;
861878 } ) ;
862879 } ) ;
0 commit comments