import { Button } from '@contour/fet/lib/elements'; import { waitForVisible } from '../../../../node_modules/@contour/fet/lib/support/action/waitForVisible'; import MCA from '../../../enum/dc/mcaButtons'; import SubSideMenu from '../../../pages/sideMenu/subSideMenu.page'; import { loginToMainPageForScenario } from '../../login/glue/loginToMainPageForScenario'; import { navigateToCurrentDC } from '../../navigation/glue'; export async function dcIssuanceMcaFlow(party: string, dcReference: string, action: string[], scenario: string) { const submitButton = new Button(contourfet.getPageElement('actionButton', MCA.SUBMIT)); const confirmButton = new Button(contourfet.getPageElement('actionButton', MCA.CONFIRM)); for (const step of action) { const [role, actionButtonName] = step.split('-'); loginToMainPageForScenario(party, role, scenario); navigateToCurrentDC(party, dcReference); const actionButton = new Button(contourfet.getPageElement('actionButton', actionButtonName)); await actionButton.clickElement(); if (role == 'maker' || role == 'admin1') { await submitButton.clickElement(); } else { await confirmButton.clickElement(); } } await waitForVisible('dcListing', 'dcTable'); } export async function dcAmendmentMcaFlow( party: string, type: string, nextParty: string, dcReference: string, action: string[], scenario: string ) { const submitButton = new Button(contourfet.getPageElement('actionButton', MCA.SUBMIT)); const confirmButton = new Button(contourfet.getPageElement('actionButton', MCA.CONFIRM)); const subSideMenu = new SubSideMenu(); for (const step of action) { const [role, actionButtonName] = step.split('-'); loginToMainPageForScenario(party, role, scenario); navigateToCurrentDC(party, dcReference); if (type == 'draftAmendment') { await subSideMenu.getSubMenuSubOption('Draft Text 1').clickElement(); } else if (type == 'draft') { await subSideMenu.getSubMenuSubOption('Draft').clickElement(); } const actionButton = new Button(contourfet.getPageElement('actionButton', actionButtonName)); await actionButton.clickElement(); if (role == 'maker' || role == 'admin1') { if (nextParty == 'IssuingBank' || nextParty == 'beneficiary' || nextParty == 'applicant') { await actionButton.clickElement(); } await submitButton.clickElement(); await browser.refresh(); } else { await confirmButton.clickElement(); } } }