Skip to content

Commit 83dcd66

Browse files
Merge branch 'dev' into unicron-rewrite-py2go
Assisted by [OpenAI](https://platform.openai.com/) Assisted by [GitHub Copilot](https://github.com/features/copilot)
2 parents ccae910 + ef19d05 commit 83dcd66

1 file changed

Lines changed: 24 additions & 7 deletions

File tree

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

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

Comments
 (0)