import { Given, When } from '@cucumber/cucumber'; import PARTY from '../../enum/party'; import DcForm from '../../pages/dc/dcForm.page'; import * as generateAmendmentUtil from '../../util/generateAmendmentUtil'; Given( /^(applicant|beneficiary) created amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) submit to (applicant|beneficiary|issuingBank) proceeded by "([^"]+)?"$/, async (_currentParty, scenario, submitToParty, proceedRoles) => { await generateAmendmentUtil.applicantOrBeneficiaryCreateAmendment(scenario, submitToParty, 0, proceedRoles); } ); Given( /^(applicant|beneficiary) created amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) submit to (applicant|beneficiary|issuingBank) with original (\d+) attachment and updated (\d+) attachment proceeded by "([^"]+)?"$/, async (_actionParty, scenario, submitToParty, originalAttachmentNum, updatedAttachmentNum, proceedRoles) => { await generateAmendmentUtil.applicantOrBeneficiaryCreateAmendment( scenario, submitToParty, 0, proceedRoles, originalAttachmentNum, updatedAttachmentNum ); } ); Given( /^(applicant|beneficiary) created amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) submit to (applicant|beneficiary|issuingBank) with following document source proceeded by "([^"]+)?"$/, async (_actionParty, scenario, submitToParty, proceedRoles, documentSourceDataTable) => { await generateAmendmentUtil.applicantOrBeneficiaryCreateAmendment( scenario, submitToParty, 0, proceedRoles, 0, 0, documentSourceDataTable ); } ); Given( /^(applicant|beneficiary) (edited and returned|endorsed|rejected) amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) proceeded by "([^"]+)?"$/, async (currentParty, action, scenario, proceedRoles) => { await generateAmendmentUtil.generateApplicantOrBeneficiaryProceededAmendment( scenario, action, 0, proceedRoles, currentParty ); } ); Given( /^(applicant|beneficiary) discarded amendment after (applicant|beneficiary) edited and returned amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) proceeded by "([^"]+)?"$/, async (currentParty, counterParty: PARTY, scenario, proceedRoles) => { await generateAmendmentUtil.generateApplicantOrBeneficiaryDiscardedAmendment( currentParty, counterParty, scenario, proceedRoles, 0 ); } ); Given( /^issuingBank (issued|rejected) amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) proceeded by "([^"]+)?"$/, async (action, scenario, proceedRoles) => { await generateAmendmentUtil.generateIssuingBankProceededAmendment(scenario, action, 0, proceedRoles); } ); Given( /^issuingBank (issued|rejected) amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) with original (\d+) attachment and updated (\d+) attachment proceeded by "([^"]+)?"$/, async (action, scenario, originalAttachmentNum, updatedAttachmentNum, proceedRoles) => { await generateAmendmentUtil.generateIssuingBankProceededAmendment( scenario, action, 0, proceedRoles, originalAttachmentNum, updatedAttachmentNum ); } ); Given( /^issuingBank (issued|rejected) amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) with following document source proceeded by "([^"]+)?"$/, async (action, scenario, proceedRoles, documentSourceDataTable) => { await generateAmendmentUtil.generateIssuingBankProceededAmendment( scenario, action, 0, proceedRoles, 0, 0, documentSourceDataTable ); } ); Given( /^following bank performed following action for amendment and (confirmingBank|advisingBank|nominatedBank) (advised with confirmation|advised without confirmation|advised|rejected|.*) amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) proceeded by "([^"]+)?"$/, async (currentParty, action, scenario, proceedRoles, dataTable) => { await generateAmendmentUtil.generateBankProceededAmendment( currentParty, scenario, action, 0, proceedRoles, 0, 0, dataTable ); } ); Given( /^following bank performed following action for amendment and (confirmingBank|advisingBank|nominatedBank) (advised with confirmation|advised without confirmation|advised|rejected) amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) with original (\d+) attachment and updated (\d+) attachment proceeded by "([^"]+)?"$/, async (currentParty, action, scenario, originalAttachmentNum, updatedAttachmentNum, proceedRoles, dataTable) => { await generateAmendmentUtil.generateBankProceededAmendment( currentParty, scenario, action, 0, proceedRoles, originalAttachmentNum, updatedAttachmentNum, dataTable ); } ); Given( /^following bank performed following action for amendment and (confirmingBank|advisingBank|nominatedBank) (advised with confirmation|advised without confirmation|advised|rejected) amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) with following document source proceeded by "([^"]+)?"$/, async (currentParty, action, scenario, proceedRoles, dataTable) => { await generateAmendmentUtil.generateBankProceededAmendment( currentParty, scenario, action, 0, proceedRoles, 0, 0, dataTable ); } ); Given( /^beneficiary (accepted|rejected) amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) proceeded by "([^"]+)?" with following banks action$/, async (action, scenario, proceedRoles, dataTable) => { await generateAmendmentUtil.beneficiaryConcludeAmendment(scenario, action, 0, proceedRoles, dataTable); } ); Given( /^beneficiary (accepted|rejected) amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) with original (\d+) attachment and updated (\d+) attachment proceeded by "([^"]+)?" with following banks action$/, async (action, scenario, originalAttachmentNum, updatedAttachmentNum, proceedRoles, dataTable) => { await generateAmendmentUtil.beneficiaryConcludeAmendment( scenario, action, 0, proceedRoles, dataTable, originalAttachmentNum, updatedAttachmentNum ); } ); Given( /^beneficiary (accepted|rejected) amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) proceeded by "([^"]+)?" with following document source$/, async (action, scenario, proceedRoles, dataTable) => { await generateAmendmentUtil.beneficiaryConcludeAmendment(scenario, action, 0, proceedRoles, dataTable, 0, 0); } ); Given( /^following parties proceeded following amendment for scenario (sc1|sc2|sc4|sc5|sc6|sc8|sc10|sc11) proceeded by "([^"]+)?" with following banks action$/, async (scenario: string, proceededRole: string, dataTable: any) => { await generateAmendmentUtil.generateMutipleAmendments(scenario, proceededRole, dataTable); } ); /** * UI */ When(/^I set "([^"]+)?" to the other document (name|description) for row (\d+)$/, async (value, field, rowNum) => { const dcForm = new DcForm(); if (field == 'name') { await dcForm.getDocumentRequiredOtherDocumentsRequiredInput(rowNum - 1).setInputField(value); } else { await dcForm.getDocumentRequiredOtherDocumentsRequiredDescriptionInput(rowNum - 1).setInputField(value); } }); When(/^I remove other document for row (\d+)$/, async (rowNum) => { const dcForm = new DcForm(); await dcForm.getDocumentRequiredOtherDocumentRequiredRemoveButton(rowNum - 1).clickElement(); });