public void TransactionFlowState_OnValidRequestAuthCodeSent_ReturnObjects() { // arrange var stlEnqMsg = new SettlementEnquiryRequest(RequestIdHelper.Id("stlenq")).ToMessage(); var transactionFlowState = new TransactionFlowState("1", TransactionType.SettlementEnquiry, 0, stlEnqMsg, $"Waiting for EFTPOS connection to make a settlement enquiry"); // act transactionFlowState.AuthCodeSent("AuthCodeSent"); // assert Assert.False(transactionFlowState.AwaitingPhoneForAuth); Assert.Equal("AuthCodeSent", transactionFlowState.DisplayMessage); }
public void TransactionFlowState_OnValidRequestCancelling_ReturnObjects() { // arrange var stlEnqMsg = new SettlementEnquiryRequest(RequestIdHelper.Id("stlenq")).ToMessage(); var transactionFlowState = new TransactionFlowState("1", TransactionType.SettlementEnquiry, 0, stlEnqMsg, $"Waiting for EFTPOS connection to make a settlement enquiry"); // act transactionFlowState.Cancelling("Cancelling"); // assert Assert.True(transactionFlowState.AttemptingToCancel); Assert.Equal("Cancelling", transactionFlowState.DisplayMessage); }
public void TransactionFlowState_OnValidResponseSignatureResponded_ReturnObjects() { // arrange var stlEnqMsg = new SettlementEnquiryRequest(RequestIdHelper.Id("stlenq")).ToMessage(); var transactionFlowState = new TransactionFlowState("1", TransactionType.SettlementEnquiry, 0, stlEnqMsg, $"Waiting for EFTPOS connection to make a settlement enquiry"); // act transactionFlowState.SignatureResponded("SignatureResponded"); // assert Assert.False(transactionFlowState.AwaitingSignatureCheck); Assert.Equal("SignatureResponded", transactionFlowState.DisplayMessage); }
public void SettlementEnquiryRequest_OnValidRequest_ReturnObjects() { // arrange const string posRefId = "test"; // act var request = new SettlementEnquiryRequest(posRefId); var msg = request.ToMessage(); // assert Assert.Equal("settlement_enquiry", msg.EventName); Assert.Equal(posRefId, request.Id); }
public void TransactionFlowState_OnValidRequestCallingGlt_ReturnObjects() { // arrange var stlEnqMsg = new SettlementEnquiryRequest(RequestIdHelper.Id("stlenq")).ToMessage(); var transactionFlowState = new TransactionFlowState("1", TransactionType.SettlementEnquiry, 0, stlEnqMsg, $"Waiting for EFTPOS connection to make a settlement enquiry"); // act transactionFlowState.CallingGlt("25"); // assert Assert.True(transactionFlowState.AwaitingGltResponse); Assert.NotNull(transactionFlowState.LastStateRequestTime); Assert.Equal("25", transactionFlowState.LastGltRequestId); }
public void TransactionFlowState_OnValidRequestFailed_ReturnObjects() { // arrange var stlEnqMsg = new SettlementEnquiryRequest(RequestIdHelper.Id("stlenq")).ToMessage(); var transactionFlowState = new TransactionFlowState("1", TransactionType.SettlementEnquiry, 0, stlEnqMsg, $"Waiting for EFTPOS connection to make a settlement enquiry"); // act transactionFlowState.Failed(stlEnqMsg, "Failed"); // assert Assert.Equal(stlEnqMsg, transactionFlowState.Response); Assert.True(transactionFlowState.Finished); Assert.Equal(Message.SuccessState.Failed, transactionFlowState.Success); Assert.Equal("Failed", transactionFlowState.DisplayMessage); }
public void SettlementEnquiryRequest_OnValidRequestWithOptionsNone_ReturnObjects() { // arrange const string posRefId = "test"; // act var request = new SettlementEnquiryRequest(posRefId); var msg = request.ToMessage(); // assert Assert.Equal("", msg.GetDataStringValue("merchant_receipt_header")); Assert.Equal("", msg.GetDataStringValue("merchant_receipt_footer")); Assert.Equal("", msg.GetDataStringValue("customer_receipt_header")); Assert.Equal("", msg.GetDataStringValue("customer_receipt_footer")); }
public void TransactionFlowState_OnValidState_ReturnObjects() { // arrange var stlEnqMsg = new SettlementEnquiryRequest(RequestIdHelper.Id("stlenq")).ToMessage(); // act var transactionFlowState = new TransactionFlowState("1", TransactionType.SettlementEnquiry, 0, stlEnqMsg, $"Waiting for EFTPOS connection to make a settlement enquiry"); // assert Assert.Equal("1", transactionFlowState.PosRefId); Assert.Equal("1", transactionFlowState.Id); Assert.Equal(TransactionType.SettlementEnquiry, transactionFlowState.Type); Assert.Equal(0, transactionFlowState.AmountCents); Assert.False(transactionFlowState.AwaitingSignatureCheck); Assert.False(transactionFlowState.RequestSent); Assert.False(transactionFlowState.Finished); Assert.Equal(Message.SuccessState.Unknown, transactionFlowState.Success); Assert.Equal($"Waiting for EFTPOS connection to make a settlement enquiry", transactionFlowState.DisplayMessage); }
public void SettlementEnquiryRequest_OnValidRequestWithConfig_ReturnObjects() { // arrange const string posRefId = "test"; var config = new SpiConfig(); config.PrintMerchantCopy = true; config.PromptForCustomerCopyOnEftpos = true; config.SignatureFlowOnEftpos = false; // act var request = new SettlementEnquiryRequest(posRefId); request.Config = config; var msg = request.ToMessage(); // assert Assert.True(msg.GetDataBoolValue("print_merchant_copy", false)); Assert.False(msg.GetDataBoolValue("prompt_for_customer_copy", false)); Assert.False(msg.GetDataBoolValue("print_for_signature_required_transactions", false)); }