public void TestSetup() { var testRunner = new TestRunner(); amendOperations = new AmendOperations(testRunner); sendOperations = new SendOperations(testRunner); }
/// <summary> /// Constructor /// </summary> /// <param name="messageBus">used to publish results</param> /// <param name="sendParameters"></param> /// <param name="agentSelector"></param> /// <param name="amendOperations"></param> /// <param name="sendOperations"></param> public AmendHandler(IMessageBus messageBus, ISendParametersViewModel sendParameters, IAgentSelectorViewModel agentSelector, AmendOperations amendOperations, SendOperations sendOperations) { AmendOperations = amendOperations; SendOperations = sendOperations; _messageBus = messageBus; _agentSelector = agentSelector; _sendParameters = sendParameters; }
/// <summary> /// Run this transaction /// </summary> /// <param name="parameters"></param> /// <returns></returns> public override ITransactionResult Transaction(object parameters) { var sendParameters = (SendParameters)parameters; TestConfig.TestSettings = new IntegrationTestSettingsModel { AcEnvironment = sendParameters.Environment }; var amtRangeParsed = Enum.TryParse(sendParameters?.AmtRange, true, out AmountRange amtRange); var itemChoiceTypeParsed = Enum.TryParse(sendParameters?.FeeType, true, out ItemChoiceType1 itemChoiceType); var sendRequest = new SendRequest { Environment = sendParameters.Environment, AgentCountryIsoCode = sendParameters.AgentCountryIsoCode, AgentId = sendParameters.AgentId, AgentPos = sendParameters.AgentPos, AgentState = sendParameters.GetAgentState(), Amount = (double)sendParameters.CustomAmount, AmtRange = amtRangeParsed ? amtRange : AmountRange.CustomAmount, Country = sendParameters.Country, State = sendParameters.State, FeeType = itemChoiceTypeParsed ? itemChoiceType : ItemChoiceType1.amountExcludingFee, SendCurr = sendParameters.SendCurr, ServiceOption = sendParameters.ServiceOption, ThirdPartyType = sendParameters.ThirdPartyType }; var sendData = new SendData(sendRequest); sendData = SendOperations.SendCompleteForExistingCustomer(sendData); var referenceNumber = sendData?.CompleteSessionResp?.Payload?.ReferenceNumber; var amendRequest = new AmendOperationRequest { AgentState = sendParameters.AgentState, ReferenceNumber = referenceNumber }; amendRequest.PopulateAgentData(sendParameters.AgentState); var amendData = new AmendData(amendRequest); amendData.Set(sendData); AmendOperations.AmendComplete(amendData); return(new TransactionResult { Result = amendData }); }