diff --git a/.github/workflows/ui-test.yaml b/.github/workflows/ui-test.yaml
index 1f3843e..e0529ea 100644
--- a/.github/workflows/ui-test.yaml
+++ b/.github/workflows/ui-test.yaml
@@ -46,4 +46,4 @@ jobs:
- name: Run tests
working-directory: ui-tests/tests
run: |-
- PM4ML_ENDPOINT="http://localhost:8081" SIM_CORE_CONNECTOR_ENDPOINT="http://localhost:3003" npm run test:headless
+ ENV="local" PM4ML_ENDPOINT="http://localhost:8081" SIM_CORE_CONNECTOR_ENDPOINT="http://localhost:3003" npm run test:headless
diff --git a/on-premise-deploy/docker-compose/GitHubDesktop-linux-2.9.0-linux2.deb b/on-premise-deploy/docker-compose/GitHubDesktop-linux-2.9.0-linux2.deb
new file mode 100644
index 0000000..df8f25c
Binary files /dev/null and b/on-premise-deploy/docker-compose/GitHubDesktop-linux-2.9.0-linux2.deb differ
diff --git a/ui-tests/tests/report.html b/ui-tests/tests/report.html
deleted file mode 100644
index f10ad03..0000000
--- a/ui-tests/tests/report.html
+++ /dev/null
@@ -1,143 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
×
-
-
-
-
-
TestCafe Test Summary
-
-
-
Summary
-
Start Time: Wed Nov 24 2021 19:06:30 GMT-0500 (Eastern Standard Time)
-
Browsers: Chrome 96.0.4664.45 / Linux 0.0
-
Duration: 12s
-
Tests Failed: 1 out of 1
-
Tests Skipped: 0
-
-
-
-
- #
- Fixture
- Test Name
- Browsers
- Duration
- Result
-
-
-
-
- 1
- Find Transfers Feature
- User list populates users from wso2
- Chrome 96.0.4664.45 / Linux 0.0
- 12s
- failed
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Error Details
-
1. Find Transfers Feature - User list populates users from wso2
-
- Error in fixture.beforeEach hook -
-The specified selector does not match any element in the DOM tree.
-
- > | Selector([function])
- | .withProps({ label: 'Users' })
-
-Browser: Chrome 96.0.4664.45 / Linux 0.0
-
-
-
-
-
\ No newline at end of file
diff --git a/ui-tests/tests/src/config.ts b/ui-tests/tests/src/config.ts
index bb4f4ea..1183ba2 100644
--- a/ui-tests/tests/src/config.ts
+++ b/ui-tests/tests/src/config.ts
@@ -11,7 +11,7 @@
import * as dotenv from 'dotenv';
import * as assert from 'assert';
-dotenv.config();
+//dotenv.config();
function ensureEnv(e: string): string {
const result = process.env[e];
@@ -19,10 +19,18 @@ function ensureEnv(e: string): string {
return result as string;
}
+let tmpConfig;
// TODO: ajv
-export const config = {
- pm4mlEndpoint: ensureEnv('PM4ML_ENDPOINT'),
- simCoreConnectorEndpoint: ensureEnv('SIM_CORE_CONNECTOR_ENDPOINT'),
+if (process.env.ENV === "local"){
+ tmpConfig = {
+ //pm4mlEndpoint: ensureEnv('PM4ML_ENDPOINT'),
+ //simCoreConnectorEndpoint: ensureEnv('SIM_CORE_CONNECTOR_ENDPOINT'),
+ pm4mlEndpoint: "http://localhost:8081",
+ simCoreConnectorEndpoint: "http://localhost:3003",
+ senderpartyID:"22507008181" ,
+ receiverpartyID:"22556999125",
+ simcurrency: "USD",
+
credentials: {
test: {
username: 'test',
@@ -41,5 +49,39 @@ export const config = {
password: 'test',
},
},
- voodooTimeoutMs: 30000,
+ voodooTimeoutMs: 30000
};
+
+}else if(process.env.ENV === "other"){
+ tmpConfig = {
+ // pm4mlEndpoint: "https://portal.pm4mlsenderfsp.productdevk3s.dev.product.mbox-dev.io",
+ // simCoreConnectorEndpoint: "http://test.pm4mlsenderfsp.productdevk3s.dev.product.mbox-dev.io/cc-send",
+ pm4mlEndpoint: ensureEnv('PM4ML_ENDPOINT'),
+ simCoreConnectorEndpoint: ensureEnv('SIM_CORE_CONNECTOR_ENDPOINT'),
+ senderpartyID:"25644444444" ,
+ receiverpartyID:"25633333333",
+ simcurrency: "USD",
+ credentials: {
+ test: {
+ username: 'test',
+ password: 'test',
+ },
+ nofirstlastname: {
+ username: 'nofirstlastname',
+ password: 'test',
+ },
+ nofirstname: {
+ username: 'nofirstname',
+ password: 'test',
+ },
+ nolastname: {
+ username: 'nolastname',
+ password: 'test',
+ },
+ },
+ voodooTimeoutMs: 30000
+ };
+
+}
+const config = Object.assign({}, tmpConfig);
+export { config };
diff --git a/ui-tests/tests/src/page-objects/pages/LoginPage.ts b/ui-tests/tests/src/page-objects/pages/LoginPage.ts
index b281188..d424715 100644
--- a/ui-tests/tests/src/page-objects/pages/LoginPage.ts
+++ b/ui-tests/tests/src/page-objects/pages/LoginPage.ts
@@ -1,7 +1,7 @@
import { Selector } from "testcafe";
export const LoginPage = {
- usernameField: Selector('#username'),
- passwordField: Selector('#password'),
- loginButton: Selector('.pf-c-button'),
+ usernameField: Selector('#username', { timeout: 25000 }),
+ passwordField: Selector('#password', { timeout: 25000 }),
+ loginButton: Selector('.pf-c-button', { timeout: 25000 }),
};
diff --git a/ui-tests/tests/src/page-objects/pages/TransferDashboardPage.ts b/ui-tests/tests/src/page-objects/pages/TransferDashboardPage.ts
index 768a9c7..3e6f9eb 100644
--- a/ui-tests/tests/src/page-objects/pages/TransferDashboardPage.ts
+++ b/ui-tests/tests/src/page-objects/pages/TransferDashboardPage.ts
@@ -1,5 +1,6 @@
import { Selector } from "testcafe";
+
export type Error = {
id: string,
direction: string,
@@ -27,6 +28,7 @@ export type Transfer = {
institution: string,
date: string,
senderIdType: string,
+ senderIdSubValue: string,
senderIdValue: string,
recipientIdType: string,
recipientIdValue: string,
@@ -60,7 +62,8 @@ export const TransferDashboardPage = {
DateFilterLabel: Selector('div').withText('Date'),
findATransferButton: Selector('.mb-input').withText('Find a Transfer'),
- downloadErrorsButton: Selector('.transfers__errors__download__button'),
+ downloadErrorsButton: Selector('div.transfers__errors__section').nth(1).child('button').withAttribute('label','Download Errors'),// Selector('.transfers__errors__download__button'),
+
// viewAllErrorsButton: Selector('.transfers__errors__button'),
//Find a Transfer Popup window Page Objects
@@ -72,8 +75,8 @@ export const TransferDashboardPage = {
.withText(`Find a Transfer`)
.parent().parent('.el-modal__container'),
- findATransferModalBasicFindTransferTab: Selector('.el-tabs__tab-item').withText('Basic Find a Transfer'),
- findATransferModalAdvancedFiltering: Selector('.el-tabs__tab-item').withText('Advanced Filtering'),
+ findATransferModalBasicFindTransferTab: Selector('.el-tabs__tab-items').child(0),//.withText('Basic Find a Transfer'),XPathSelector('//input[@type="checkbox"]').nth(1);
+ findATransferModalAdvancedFiltering: Selector('.el-tabs__tab-items').child('div').withText('Advanced Filtering'),
backtoFilteringSubmitButton: Selector('span.input-button__label').withText('Back to filtering'),
ftPopupCloseButton: Selector('span.input-button__label').nth(3),
findATransferModalTransferDownloadTransfersButton: Selector('.mb-input').withText('Download Transfers'),
@@ -89,8 +92,8 @@ export const TransferDashboardPage = {
findATransferModalAliasSubValueField: Selector('.find-transfer-modal__aliasSubValue input'),
findATransferModalInstitutionField: Selector('.find-transfer-modal__institution input'),
findATransferModalTransferStatusField: Selector('.find-transfer-modal__transfer-status input'),
- findATransferModalSubmit: Selector('.el-modal__submit'),
- findATransferModalCloseButton: Selector('.input-button__content').withText('Close'),
+ findATransferModalSubmit: Selector('button').withAttribute('label', 'Find Transfers'), //Selector('div.el-modal__footer-right').child(1),Selector('.el-modal__submit'),
+ findATransferModalCloseButton: Selector('.input-button__content').child('span').withText('Close'),
//Find a Transfer results Page objects
noresults: Selector('span').withText('No items'),
@@ -279,9 +282,16 @@ export const TransferDashboardPage = {
transferDetailsModalTechnicalDetailsDirection: Selector('#transfer-details-basic-modal__direction'),
async getTransferRowById(innerText: string): Promise {
- return Selector('.transfers__transfers__list .el-datalist__row').withText(innerText);
+ return Selector('.transfers__transfers__list .el-datalist__row').withText(innerText.substring(0, 22));
},
+ async getFirstTransferRow(): Promise {
+ return Selector('.transfers__transfers__list .el-datalist__row').nth(0);
+ },
+
+ async getTransferByAmount(innerText: string): Promise {
+ return Selector('.transfers__transfers__list .el-datalist__item-cell').child("div").withText(innerText);
+ },
async getFindATransferRows(): Promise {
const rows = Selector('.transfers__transfers__list .el-datalist__row');
const length = await rows.count;
diff --git a/ui-tests/tests/src/tests/TransferDashboardPage.test.ts b/ui-tests/tests/src/tests/TransferDashboardPage.test.ts
index c3358a4..7c018f7 100644
--- a/ui-tests/tests/src/tests/TransferDashboardPage.test.ts
+++ b/ui-tests/tests/src/tests/TransferDashboardPage.test.ts
@@ -6,18 +6,40 @@ import fs from 'fs';
import xlsx from 'xlsx';
const apiHelper = require('../helpers/api-helper');
const { v4: uuidv4 } = require('uuid');
+import { ClientFunction } from 'testcafe';
+
+
fixture`Transfer Dashboard Feature`
.page`${config.pm4mlEndpoint}/transfer`
+
.beforeEach(async (t) => {
// Login if not logged in
+ try{
+
if (Selector('.login-pf-header')) {
await t.typeText(LoginPage.usernameField, config.credentials.test.username)
await t.typeText(LoginPage.passwordField, config.credentials.test.password)
await t.click(LoginPage.loginButton)
}
+ }
+ catch(e){
+ // console.error(e);
+ var current_url = await t.eval(() => window.location.href);
+ await t.navigateTo(current_url);
+ await t.wait(6000);
+ await t.typeText(LoginPage.usernameField, config.credentials.test.username)
+ await t.typeText(LoginPage.passwordField, config.credentials.test.password)
+ await t.click(LoginPage.loginButton)
+ }
+
});
+ const scroll = ClientFunction(function() {
+ window.scrollBy(0,1500);
+});
+
+
test
.meta({
ID: 'MP-T287',
@@ -46,6 +68,7 @@ test
('Click Transfers, Find a Transfer, Advanced Filtering, Basic Transfer submit back to filter then close', async t => {
await t
+ .maximizeWindow()
.click(TransferDashboardPage.findATransferButton)
.expect(TransferDashboardPage.ftTitle.exists).ok()
.click(TransferDashboardPage.findATransferModalAdvancedFiltering)
@@ -64,6 +87,7 @@ test
})
('Click_Transfers_Find_a_Transfer_with_invalid_transfer_id_no_item_expected', async t => {
await t
+ .maximizeWindow()
.click(TransferDashboardPage.findATransferButton)
.click(TransferDashboardPage.findATransferModalBasicFindTransferTab)
.typeText(TransferDashboardPage.transferIDTextBox, 'abc123', { replace: true })
@@ -83,7 +107,7 @@ test
from: {
displayName: 'PayerFirst PayerLast',
idType: 'MSISDN',
- idValue: 22507008181,
+ idValue: `${config.senderpartyID}`,
extensionList:
[
{
@@ -95,10 +119,10 @@ test
to: {
displayName: 'PartyFirst PartyLast',
idType: 'MSISDN',
- idValue: '22556999125'
+ idValue: `${config.receiverpartyID}`
},
amountType: 'SEND',
- currency: 'USD',
+ currency: `${config.simcurrency}`,
amount: 10.123,
transactionType: 'TRANSFER',
note: 'test payment - Success transfer initiated by Automation',
@@ -106,6 +130,7 @@ test
}
var payloadHeaders = { 'Content-Type': 'application/json' };
var transferResponse = await apiHelper.getResponseBody('POST', `${config.simCoreConnectorEndpoint}/sendmoney`, JSON.stringify(transferRequest), payloadHeaders);
+ //console.log(transferResponse);
let transfer_id = transferResponse.transferId;
await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transfer_id}`, JSON.stringify({ acceptParty: true }), payloadHeaders);
@@ -113,14 +138,16 @@ test
await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transfer_id}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
await t
+ .maximizeWindow()
.click(TransferDashboardPage.findATransferButton)
.click(TransferDashboardPage.findATransferModalBasicFindTransferTab)
+ .wait(20000)
.typeText(TransferDashboardPage.transferIDTextBox, transfer_id, { replace: true })
.click(TransferDashboardPage.findATransferModalSubmit)
.click(TransferDashboardPage.findATransferModalCloseButton)
});
-test
+test.timeouts({ pageLoadTimeout: 45000 })
.meta({
ID: 'MP-T292',
STORY: 'MP-2512'
@@ -130,7 +157,7 @@ test
from: {
displayName: 'PayerFirst PayerLast',
idType: 'MSISDN',
- idValue: 22507008181,
+ idValue: `${config.senderpartyID}`,
extensionList:
[
{
@@ -142,10 +169,10 @@ test
to: {
displayName: 'PartyFirst PartyLast',
idType: 'MSISDN',
- idValue: '22556999125'
+ idValue: `${config.receiverpartyID}`
},
amountType: 'SEND',
- currency: 'USD',
+ currency: `${config.simcurrency}`,
amount: 10.123,
transactionType: 'TRANSFER',
note: 'test payment - Success transfer initiated by Automation',
@@ -157,10 +184,15 @@ test
await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptParty: true }), payloadHeaders);
await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
+
await t
+ .setTestSpeed(0.5)
+ .maximizeWindow()
+ .wait(10000)
.click(TransferDashboardPage.findATransferButton)
.click(TransferDashboardPage.findATransferModalBasicFindTransferTab)
+ .wait(18000)
.typeText(TransferDashboardPage.transferIDTextBox, transferResponse.transferId, { paste: true, replace: false }).wait(10000)
.click(TransferDashboardPage.findATransferModalSubmit)
.click(TransferDashboardPage.transferIdList.withText(transferResponse.transferId))
@@ -203,7 +235,7 @@ test
from: {
displayName: 'PayerFirst PayerLast',
idType: 'MSISDN',
- idValue: 22507008181,
+ idValue: `${config.senderpartyID}`,
extensionList:
[
{
@@ -215,10 +247,10 @@ test
to: {
displayName: 'PartyFirst PartyLast',
idType: 'MSISDN',
- idValue: '22556999125'
+ idValue: `${config.receiverpartyID}`
},
amountType: 'SEND',
- currency: 'USD',
+ currency: `${config.simcurrency}`,
amount: 10.123,
transactionType: 'TRANSFER',
note: 'test payment - Success transfer initiated by Automation',
@@ -226,12 +258,16 @@ test
}
var payloadHeaders = { 'Content-Type': 'application/json' };
var transferResponse = await apiHelper.getResponseBody('POST', `${config.simCoreConnectorEndpoint}/sendmoney`, JSON.stringify(transferRequest), payloadHeaders);
+ //console.log(transferResponse);
await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptParty: true }), payloadHeaders);
transferResponse = await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
await t
+ .maximizeWindow()
+ .wait(5000)
.click(TransferDashboardPage.findATransferButton)
.click(TransferDashboardPage.findATransferModalBasicFindTransferTab)
+ .wait(20000)
.typeText(TransferDashboardPage.transferIDTextBox, transferResponse.transferId, { paste: true, replace: false }).wait(10000)
.click(TransferDashboardPage.findATransferModalSubmit)
.click(TransferDashboardPage.transferIdList.withText(transferResponse.transferId))
@@ -266,7 +302,7 @@ test
from: {
displayName: 'PayerFirst PayerLast',
idType: 'MSISDN',
- idValue: 22507008181,
+ idValue: `${config.senderpartyID}`,
extensionList:
[
{
@@ -278,10 +314,10 @@ test
to: {
displayName: 'PartyFirst PartyLast',
idType: 'MSISDN',
- idValue: '22556999125'
+ idValue: `${config.receiverpartyID}`
},
amountType: 'SEND',
- currency: 'USD',
+ currency: `${config.simcurrency}`,
amount: 10.123,
transactionType: 'TRANSFER',
note: 'test payment - Success transfer initiated by Automation',
@@ -293,8 +329,11 @@ test
transferResponse = await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
await t
+ .maximizeWindow()
+ .wait(5000)
.click(TransferDashboardPage.findATransferButton)
.click(TransferDashboardPage.findATransferModalBasicFindTransferTab)
+ .wait(18000)
.typeText(TransferDashboardPage.transferIDTextBox, transferResponse.transferId, { paste: true, replace: false }).wait(10000)
.click(TransferDashboardPage.findATransferModalSubmit)
.click(TransferDashboardPage.transferIdList.withText(transferResponse.transferId))
@@ -360,7 +399,7 @@ test
from: {
displayName: 'PayerFirst PayerLast',
idType: 'MSISDN',
- idValue: 22507008181,
+ idValue: `${config.senderpartyID}`,
extensionList:
[
{
@@ -372,10 +411,10 @@ test
to: {
displayName: 'PartyFirst PartyLast',
idType: 'MSISDN',
- idValue: '22556999125'
+ idValue: `${config.receiverpartyID}`
},
amountType: 'SEND',
- currency: 'USD',
+ currency: `${config.simcurrency}`,
amount: 10.123,
transactionType: 'TRANSFER',
note: 'test payment - Success transfer initiated by Automation',
@@ -387,7 +426,10 @@ test
transferResponse = await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
await t
+ .maximizeWindow()
+ .wait(5000)
.click(TransferDashboardPage.findATransferButton)
+ .wait(15000)
.click(TransferDashboardPage.findATransferModalBasicFindTransferTab)
.typeText(TransferDashboardPage.transferIDTextBox, transferResponse.transferId, { paste: true, replace: false }).wait(10000)
.click(TransferDashboardPage.findATransferModalSubmit)
@@ -455,7 +497,7 @@ test
from: {
displayName: 'PayerFirst PayerLast',
idType: 'MSISDN',
- idValue: 22507008181,
+ idValue: `${config.senderpartyID}`,
extensionList:
[
{
@@ -467,10 +509,10 @@ test
to: {
displayName: 'PartyFirst PartyLast',
idType: 'MSISDN',
- idValue: '22556999125'
+ idValue: `${config.receiverpartyID}`
},
amountType: 'SEND',
- currency: 'USD',
+ currency: `${config.simcurrency}`,
amount: 10.123,
transactionType: 'TRANSFER',
note: 'test payment - Success transfer initiated by Automation',
@@ -478,14 +520,19 @@ test
}
var payloadHeaders = { 'Content-Type': 'application/json' };
var transferResponse = await apiHelper.getResponseBody('POST', `${config.simCoreConnectorEndpoint}/sendmoney`, JSON.stringify(transferRequest), payloadHeaders);
+ //console.log(transferResponse);
await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptParty: true }), payloadHeaders);
transferResponse = await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
await t
+ .maximizeWindow()
+ .wait(10000)
.click(TransferDashboardPage.findATransferButton)
.click(TransferDashboardPage.findATransferModalBasicFindTransferTab)
+ .wait(20000)
.typeText(TransferDashboardPage.transferIDTextBox, transferResponse.transferId, { paste: true, replace: false }).wait(10000)
.click(TransferDashboardPage.findATransferModalSubmit)
+ .wait(5000)
.click(TransferDashboardPage.transferIdList.withText(transferResponse.transferId))
.click(TransferDashboardPage.transferDetailsModalTechnicalDetailsTab)
.click(TransferDashboardPage.transferPrepareButton)
@@ -515,7 +562,7 @@ test.meta({
})
('Can download excel spreadsheet of transfers in basic search', async (t) => {
const expectedFilePath = `${process.env.HOME}` + '/Downloads/' + `Payment_Manager_Transfers_${new Date().toDateString()}.xlsx`;
-
+ await t.maximizeWindow()
await t.click(TransferDashboardPage.findATransferButton);
await t.click(TransferDashboardPage.findATransferModalSubmit);
// Adding `.wait` just as a precaution since this downloads a file.
@@ -531,12 +578,14 @@ test.meta({
const transferExists = await Promise.all(rows.map((r: TransferRow) => r.transferId.innerText));
await t.expect(transferExists).contains(transfers[0].id);
- const expectedTransfer = transfers.find( t => t.id === '61797537-a05a-469f-b2f3-059a9cd5bd8d');
- await t.expect(expectedTransfer?.senderIdType).eql('MSISDN');
- await t.expect(expectedTransfer?.senderIdValue).eql('44123456789');
- await t.expect(expectedTransfer?.recipientIdType).eql('MSISDN');
- await t.expect(expectedTransfer?.recipientIdValue).eql('27713803912');
- await t.expect(expectedTransfer?.homeTransferId).eql('5105');
+ const expectedTransfer = transfers.find( t => t.id[0]);
+ //console.log(expectedTransfer);
+ await t.expect(expectedTransfer?.senderIdType).ok();
+ //await t.expect(expectedTransfer?.senderIdSubValue).ok();
+ await t.expect(expectedTransfer?.senderIdValue).ok();
+ await t.expect(expectedTransfer?.recipientIdType).ok();
+ await t.expect(expectedTransfer?.recipientIdValue).ok();
+
// Delete file
fs.unlinkSync(expectedFilePath);
@@ -549,7 +598,7 @@ test.meta({
description: '',
})('Can download excel spreadsheet of transfers in advanced', async (t) => {
const expectedFilePath = `${process.env.HOME}/Downloads/Payment_Manager_Transfers_${new Date().toDateString()}.xlsx`;
-
+ await t.maximizeWindow()
await t.click(TransferDashboardPage.findATransferButton);
await t.click(TransferDashboardPage.findATransferModalAdvancedFiltering);
await t.click(TransferDashboardPage.findATransferModalSubmit);
@@ -567,30 +616,87 @@ test.meta({
const transferExists = await Promise.all(rows.map((r: TransferRow) => r.transferId.innerText));
await t.expect(transferExists).contains(transfers[0].id);
- const expectedTransfer = transfers.find( t => t.id === '61797537-a05a-469f-b2f3-059a9cd5bd8d');
- await t.expect(expectedTransfer?.senderIdType).eql('MSISDN');
- await t.expect(expectedTransfer?.senderIdValue).eql('44123456789');
- await t.expect(expectedTransfer?.recipientIdType).eql('MSISDN');
- await t.expect(expectedTransfer?.recipientIdValue).eql('27713803912');
- await t.expect(expectedTransfer?.homeTransferId).eql('5105');
+ const expectedTransfer = transfers.find( t => t.id[0]);
+ //console.log(expectedTransfer);
+ await t.expect(expectedTransfer?.senderIdType).ok();
+
+ await t.expect(expectedTransfer?.senderIdValue).ok();
+ await t.expect(expectedTransfer?.recipientIdType).ok();
+ await t.expect(expectedTransfer?.recipientIdValue).ok();
// Delete file
fs.unlinkSync(expectedFilePath);
});
-test.meta({
+test.timeouts({ pageLoadTimeout: 45000 }).meta({
ID: '',
STORY: '',
description: '',
})('Can download excel spreadsheet of errors', async (t) => {
const expectedFilePath = `${process.env.HOME}/Downloads/Payment_Manager_Errors_${new Date().toDateString()}.xlsx`;
+ var homeTransactionId = uuidv4();
+ var transferRequest = {
+ from: {
+ displayName: 'PayerFirst PayerLast',
+ idType: 'MSISDN',
+ idValue: `${config.senderpartyID}`,
+ extensionList:
+ [
+ {
+ key: 4,
+ value: 2
+ }
+ ]
+ },
+ to: {
+ displayName: 'PartyFirst PartyLast',
+ idType: 'MSISDN',
+ idValue: `${config.receiverpartyID}`
+ },
+ amountType: 'SEND',
+ currency: `${config.simcurrency}`,
+ amount: 1234,
+ transactionType: 'TRANSFER',
+ note: 'test payment - Success transfer initiated by Automation',
+ homeTransactionId: homeTransactionId
+ }
+ var payloadHeaders = { 'Content-Type': 'application/json' };
+ var transferResponse = await apiHelper.getResponseBody('POST', `${config.simCoreConnectorEndpoint}/sendmoney`, JSON.stringify(transferRequest), payloadHeaders);
+ await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptParty: true }), payloadHeaders);
+ transferResponse = await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
+
+
+
// Adding `.wait` just as a precaution since this downloads a file.
- await t.click(TransferDashboardPage.downloadErrorsButton).wait(2000);
+ await t.maximizeWindow();
+ await t.setTestSpeed(0.5);
+ var current_url = await t.eval(() => window.location.href);
+ await t.navigateTo(current_url);
+ await t.wait(15000);
+ await scroll();
+ await scroll();
+ await scroll();
+ try{
+ await t.click(TransferDashboardPage.downloadErrorsButton).wait(6000);
await t.expect(fs.existsSync(expectedFilePath)).ok();
- const wb = xlsx.readFile(expectedFilePath);
-
+
+ }
+ catch(e){
+ // console.error(e);
+ var current_url = await t.eval(() => window.location.href);
+ await t.navigateTo(current_url);
+ await t.wait(10000);
+ await scroll();
+ await scroll();
+ await scroll();
+ await t.click(TransferDashboardPage.downloadErrorsButton).wait(6000);
+ await t.expect(fs.existsSync(expectedFilePath)).ok();
+
+ }
+
+ const wb = xlsx.readFile(expectedFilePath);
const errors = xlsx.utils.sheet_to_json(wb.Sheets['Errors']) as Error[];
await t.expect(errors.length).gt(0)
@@ -606,19 +712,56 @@ test.meta({
// NOTE: Test harness uses `mojaloop-simulator` so this transaction is hardcoded
// in the simulator's rules.
// TODO: Update simulator to TTK so we can run more dynamic rules with templating.
-test.meta({
+test.timeouts({ pageLoadTimeout: 45000 }).meta({
ID: '',
STORY: '',
description: '',
})('Will display homeTransactionId in Technical Details if given by Payee DFSP', async (t) => {
- await t.click(TransferDashboardPage.findATransferButton);
- await t.click(TransferDashboardPage.findATransferModalSubmit);
-
- // Check transfer in spreadsheet exists in table
- const transferRow = await TransferDashboardPage.getTransferRowById('61797537-a05a-469f-b2f3-059a9cd5bd8d');
-
- // Open Details Modal
- await t.click(transferRow);
+ var precision = 100; // 2 decimals
+ var randomnum = Math.floor(Math.random() * (10 * precision - 1 * precision) + 1 * precision) / (1*precision);
+ var homeTransactionId = "5105";
+ var transferRequest = {
+ from: {
+ displayName: 'PayerFirst PayerLast',
+ idType: 'MSISDN',
+ idValue: `${config.senderpartyID}`,
+ extensionList:
+ [
+ {
+ key: 4,
+ value: 2
+ }
+ ]
+ },
+ to: {
+ displayName: 'PartyFirst PartyLast',
+ idType: 'MSISDN',
+ idValue: `${config.receiverpartyID}`
+ },
+ amountType: 'SEND',
+ currency: `${config.simcurrency}`,
+ amount: randomnum,
+ transactionType: 'TRANSFER',
+ note: 'test payment - Success transfer initiated by Automation',
+ homeTransactionId: homeTransactionId
+ }
+ var payloadHeaders = { 'Content-Type': 'application/json' };
+ var transferResponse = await apiHelper.getResponseBody('POST', `${config.simCoreConnectorEndpoint}/sendmoney`, JSON.stringify(transferRequest), payloadHeaders);
+ //console.log(transferResponse);
+ await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptParty: true }), payloadHeaders);
+ transferResponse = await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
+
+ await t.setTestSpeed(0.5);
+ await t.maximizeWindow();
+ var current_url = await t.eval(() => window.location.href);
+ await t.navigateTo(current_url);
+ await t.wait(6000);
+ await t.click(TransferDashboardPage.findATransferButton).wait(10000);
+ await t.wait(18000);
+
+ await t.typeText(TransferDashboardPage.transferIDTextBox, transferResponse.transferId, { paste: true, replace: false }).wait(10000)
+ .click(TransferDashboardPage.findATransferModalSubmit)
+ .click(TransferDashboardPage.transferIdList.withText(transferResponse.transferId))
await t.click(TransferDashboardPage.transferDetailsModalTechnicalDetailsTab);
await t.expect(await TransferDashboardPage.homeTransferIdField().value).eql('5105')
});
@@ -629,14 +772,53 @@ test.meta({
description: 'Recipient Name should not have "undefined"',
})
('Recipient Name should NOT have undefined when first name is not provided', async (t) => {
- await t.click(TransferDashboardPage.findATransferButton);
- await t.click(TransferDashboardPage.findATransferModalSubmit);
- // Check transfer in spreadsheet exists in table
- const transferRow = await TransferDashboardPage.getTransferRowById('aeac1d9f-2b60-4013-a6e0-a5cfa316a4f6');
+ var precision = 100; // 2 decimals
+ var randomnum = Math.floor(Math.random() * (10 * precision - 1 * precision) + 1 * precision) / (1*precision);
+ var homeTransactionId = uuidv4();
+ var transferRequest = {
+ from: {
+ firstName: "PayerFirst",
+ middleName: "PayerMiddle",
+ lastName: "PayerLast",
+ idType: 'MSISDN',
+ idValue: `${config.senderpartyID}`,
+ extensionList:
+ [
+ {
+ key: 4,
+ value: 2
+ }
+ ]
+ },
+ to: {
+ displayName: 'Payeemiddle Payeelast',
+ idType: 'MSISDN',
+ idValue: `${config.receiverpartyID}`
+ },
+
+ amountType: 'SEND',
+ currency: `${config.simcurrency}`,
+ amount: randomnum,
+ transactionType: 'TRANSFER',
+ note: 'test payment - Success transfer initiated by Automation',
+ homeTransactionId: homeTransactionId
+ }
+ var payloadHeaders = { 'Content-Type': 'application/json' };
+ var transferResponse = await apiHelper.getResponseBody('POST', `${config.simCoreConnectorEndpoint}/sendmoney`, JSON.stringify(transferRequest), payloadHeaders);
+ await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptParty: true }), payloadHeaders);
+ transferResponse = await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
+
+
+
+ await t.maximizeWindow()
+ await t.click(TransferDashboardPage.findATransferButton);
+ await t.wait(18000);
- // Open Details Modal
- await t.click(transferRow);
+ await t.typeText(TransferDashboardPage.transferIDTextBox, transferResponse.transferId, { paste: true, replace: false }).wait(10000)
+ .click(TransferDashboardPage.findATransferModalSubmit)
+ .click(TransferDashboardPage.transferIdList.withText(transferResponse.transferId))
+
await t.expect(await TransferDashboardPage.recipientField().value).eql('Payeemiddle Payeelast')
});
@@ -645,14 +827,49 @@ test.meta({
STORY: 'MMD-2093',
description: 'Recipient Name should not have "undefined"',
})('Recipient Name should NOT have undefined when middle name is not provided', async (t) => {
- await t.click(TransferDashboardPage.findATransferButton);
- await t.click(TransferDashboardPage.findATransferModalSubmit);
+ var precision = 100; // 2 decimals
+ var randomnum = Math.floor(Math.random() * (10 * precision - 1 * precision) + 1 * precision) / (1*precision);
+ var homeTransactionId = uuidv4();
+ var transferRequest = {
+ from: {
+ firstName: "PayerFirst",
+ middleName: "PayerMiddle",
+ lastName: "PayerLast",
+ idType: 'MSISDN',
+ idValue: `${config.senderpartyID}`,
+ extensionList:
+ [
+ {
+ key: 4,
+ value: 2
+ }
+ ]
+ },
+ to: {
+ displayName: 'Payeefirst Payeelast',
+ idType: 'MSISDN',
+ idValue: `${config.receiverpartyID}`
+ },
+
+ amountType: 'SEND',
+ currency: `${config.simcurrency}`,
+ amount: randomnum,
+ transactionType: 'TRANSFER',
+ note: 'test payment - Success transfer initiated by Automation',
+ homeTransactionId: homeTransactionId
+ }
+ var payloadHeaders = { 'Content-Type': 'application/json' };
+ var transferResponse = await apiHelper.getResponseBody('POST', `${config.simCoreConnectorEndpoint}/sendmoney`, JSON.stringify(transferRequest), payloadHeaders);
+ await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptParty: true }), payloadHeaders);
+ transferResponse = await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
- // Check transfer in spreadsheet exists in table
- const transferRow = await TransferDashboardPage.getTransferRowById('61797537-a05a-469f-b2f3-059a9cd5bd4b');
+ await t.maximizeWindow()
+ await t.click(TransferDashboardPage.findATransferButton);
+ await t.wait(18000);
- // Open Details Modal
- await t.click(transferRow);
+ await t.typeText(TransferDashboardPage.transferIDTextBox, transferResponse.transferId, { paste: true, replace: false }).wait(10000)
+ .click(TransferDashboardPage.findATransferModalSubmit)
+ .click(TransferDashboardPage.transferIdList.withText(transferResponse.transferId))
await t.expect(await TransferDashboardPage.recipientField().value).eql('Payeefirst Payeelast')
});
@@ -662,30 +879,104 @@ test.meta({
STORY: 'MMD-2093',
description: 'Recipient Name should not have "undefined"',
})('Recipient Name should NOT have undefined when last name is not provided', async (t) => {
+ var precision = 100; // 2 decimals
+ var randomnum = Math.floor(Math.random() * (10 * precision - 1 * precision) + 1 * precision) / (1*precision);
+ var homeTransactionId = uuidv4();
+ var transferRequest = {
+ from: {
+ firstName: "PayerFirst",
+ middleName: "PayerMiddle",
+ lastName: "PayerLast",
+ idType: 'MSISDN',
+ idValue: `${config.senderpartyID}`,
+ extensionList:
+ [
+ {
+ key: 4,
+ value: 2
+ }
+ ]
+ },
+ to: {
+ displayName: 'Payeefirst Payeemiddle',
+ idType: 'MSISDN',
+ idValue: `${config.receiverpartyID}`
+ },
+
+ amountType: 'SEND',
+ currency: `${config.simcurrency}`,
+ amount: randomnum,
+ transactionType: 'TRANSFER',
+ note: 'test payment - Success transfer initiated by Automation',
+ homeTransactionId: homeTransactionId
+ }
+ var payloadHeaders = { 'Content-Type': 'application/json' };
+ var transferResponse = await apiHelper.getResponseBody('POST', `${config.simCoreConnectorEndpoint}/sendmoney`, JSON.stringify(transferRequest), payloadHeaders);
+ await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptParty: true }), payloadHeaders);
+ transferResponse = await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
+
+
+
+ await t.maximizeWindow()
await t.click(TransferDashboardPage.findATransferButton);
- await t.click(TransferDashboardPage.findATransferModalSubmit);
+ await t.wait(18000);
- // Check transfer in spreadsheet exists in table
- const transferRow = await TransferDashboardPage.getTransferRowById('61797537-a05a-469f-b2f3-059a9cd5bd5f');
-
- // Open Details Modal
- await t.click(transferRow);
+ await t.typeText(TransferDashboardPage.transferIDTextBox, transferResponse.transferId, { paste: true, replace: false }).wait(10000)
+ .click(TransferDashboardPage.findATransferModalSubmit)
+ .click(TransferDashboardPage.transferIdList.withText(transferResponse.transferId))
await t.expect(await TransferDashboardPage.recipientField().value).eql('Payeefirst Payeemiddle')
});
-test.meta({
+test.timeouts({ pageLoadTimeout: 45000 }).meta({
ID: '',
STORY: 'MMD-2093',
description: 'Recipient Name should not have "undefined"',
})('Recipient Name should NOT have undefined when first and middle name is not provided', async (t) => {
- await t.click(TransferDashboardPage.findATransferButton);
- await t.click(TransferDashboardPage.findATransferModalSubmit);
+ var precision = 100; // 2 decimals
+ var randomnum = Math.floor(Math.random() * (10 * precision - 1 * precision) + 1 * precision) / (1*precision);
+ var homeTransactionId = uuidv4();
+ var transferRequest = {
+ from: {
+ firstName: "PayerFirst",
+ middleName: "PayerMiddle",
+ lastName: "PayerLast",
+ idType: 'MSISDN',
+ idValue: `${config.senderpartyID}`,
+ extensionList:
+ [
+ {
+ key: 4,
+ value: 2
+ }
+ ]
+ },
+ to: {
+ displayName: 'Payeelast',
+ idType: 'MSISDN',
+ idValue: `${config.receiverpartyID}`
+ },
+
+ amountType: 'SEND',
+ currency: `${config.simcurrency}`,
+ amount: randomnum,
+ transactionType: 'TRANSFER',
+ note: 'test payment - Success transfer initiated by Automation',
+ homeTransactionId: homeTransactionId
+ }
+ var payloadHeaders = { 'Content-Type': 'application/json' };
+ var transferResponse = await apiHelper.getResponseBody('POST', `${config.simCoreConnectorEndpoint}/sendmoney`, JSON.stringify(transferRequest), payloadHeaders);
+ await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptParty: true }), payloadHeaders);
+ transferResponse = await apiHelper.getResponseBody('PUT', `${config.simCoreConnectorEndpoint}/sendmoney/${transferResponse.transferId}`, JSON.stringify({ acceptQuote: true }), payloadHeaders);
- // Check transfer in spreadsheet exists in table
- const transferRow = await TransferDashboardPage.getTransferRowById('dba4255b-bc34-4e1b-9018-7f4c745915b2');
+ await t.maximizeWindow();
+ await t.setTestSpeed(0.5);
+ await t.click(TransferDashboardPage.findATransferButton);
+ await t.wait(18000);
- // Open Details Modal
- await t.click(transferRow);
+ await t.typeText(TransferDashboardPage.transferIDTextBox, transferResponse.transferId, { paste: true, replace: false }).wait(10000)
+ .click(TransferDashboardPage.findATransferModalSubmit)
+ .wait(2000)
+ .click(TransferDashboardPage.transferIdList.withText(transferResponse.transferId))
await t.expect(await TransferDashboardPage.recipientField().value).eql('Payeelast')
});
@@ -694,14 +985,14 @@ test.meta({
STORY: 'MMD-1463',
description: 'Improved filtering of transactions in advanced filtering screen',
})('Advanced Filtering by direction of funds and payee alias', async (t) => {
-
+ await t.maximizeWindow()
await t.click(TransferDashboardPage.findATransferButton);
await t.click(TransferDashboardPage.findATransferModalAdvancedFiltering);
// Set direction of funds and payee alias
await t.click(TransferDashboardPage.findATransferModalDirectionOfFundsField);
await t.click(TransferDashboardPage.findATransferModalDirectionOfFundsOption.withText('Outbound').parent());
- await t.typeText(TransferDashboardPage.findATransferModalPayeeAliasField, '22556999125');
+ await t.typeText(TransferDashboardPage.findATransferModalPayeeAliasField, `${config.receiverpartyID}`);
await t.click(TransferDashboardPage.findATransferModalAliasTypeField);
await t.click(TransferDashboardPage.findATransferModalAliasTypeOption.withText('Msisdn').parent());
@@ -711,10 +1002,12 @@ test.meta({
// Open Details Modal
for (let i = 0 ; i < transferRows.length; i++) {
+ if((transferRows[i].status.value).toString() === "Success" ){
await t.click(transferRows[i].transferId);
- await t.expect(await TransferDashboardPage.transferDetailsModalTechnicalDetailsRecipientDetailsField().value).eql('MSISDN 22556999125');
+ await t.expect(await TransferDashboardPage.transferDetailsModalTechnicalDetailsRecipientDetailsField().value).eql('MSISDN '+`${config.receiverpartyID}`);
await t.expect(await TransferDashboardPage.transferDetailsModalTechnicalDetailsDirection().value).eql('OUTBOUND');
await t.click(TransferDashboardPage.findATransferModalCloseButton);
}
+ }
});