import moment from 'moment'; import { WebElement } from '@contour/fet/lib/elements'; import PARTY from '../../../enum/party'; import DcListing from '../../../pages/dc/dcListing.page'; import DcOverview from '../../../pages/dc/dcOverview.page'; import SideMenu from '../../../pages/sideMenu/sideMenu.page'; import { ensureElementIsVisible, isExportParty, retry } from '../../../util/common'; import scenarioContext from '../../../util/scenarioContext'; import { refreshPageIfBnoIsNotAvailable } from '../../common/glue/refreshPageIfBnoIsNotAvailable'; export function navigateToCurrentDC(party: string, uniqueIdentifier: string) { retry(2, navigate, [party, uniqueIdentifier]); } async function navigate(party: string, uniqueIdentifier: string) { await refreshPageIfBnoIsNotAvailable(); const sideMenuPage = new SideMenu(); const dcListingPage = new DcListing(); const userAvatar = new WebElement(contourfet.getPageElement('navigationBar', 'userAvatar')); if (isExportParty(party)) { await browser.pause(3500); await sideMenuPage.getDcExportButton().clickElement(); } if (uniqueIdentifier == 'unique expiry date') { const ranDateMoment = moment(scenarioContext().dc.randomDate, 'YYYY-MM-DD'); await dcListingPage.getDcExpiryDateByExpiryDate(ranDateMoment.format('YYYY-MM-DD')).clickElement(); } else { const contourId = scenarioContext().dc.uuid.substring(0, 8); const uuid = dcListingPage.getDcRefByUuid(contourId); await ensureElementIsVisible(userAvatar); await uuid.clickElement(); } if (party == PARTY.BENEFICIARY || PARTY.ISSUING_BANK || PARTY.ADVISING_BANK) { const dcOverViewPage = new DcOverview(); await dcOverViewPage.getDocumentLink('Original Documentary Credit').clickElement(); await ensureElementIsVisible(userAvatar); } }