Skip to content

Commit ef19d05

Browse files
Fix the CI
Signed-off-by: Lukasz Gryglicki <lgryglicki@cncf.io> Assisted by [OpenAI](https://platform.openai.com/) Assisted by [GitHub Copilot](https://github.com/features/copilot)
1 parent 86c0904 commit ef19d05

File tree

1 file changed

+24
-7
lines changed

1 file changed

+24
-7
lines changed

tests/functional/cypress/e2e/v4/signatures.cy.ts

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)