QRBee/QRBee.Tests/ResponcesTests.cs
Andrey Shabarshov 41dcf6ff0a Unit tests added
2022-04-18 16:03:11 +01:00

65 lines
2.2 KiB
C#

using Microsoft.VisualStudio.TestTools.UnitTesting;
using QRBee.Core.Data;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace QRBee.Tests
{
[TestClass]
public class ResponcesTests
{
[TestMethod]
public void CTMR_AsQRCode()
{
ClientToMerchantResponse ctm = TestData.MakeCTMResponse();
var s = ctm.AsQRCodeString();
Assert.AreEqual("1234|2022-03-24:20.18.43.1234|abc|enc-data", s);
}
[TestMethod]
public void CTMR_AsDataForSig()
{
ClientToMerchantResponse ctm = TestData.MakeCTMResponse();
var s = ctm.AsDataForSignature();
Assert.AreEqual("1234|2022-03-24:20.18.43.1234|555|111-222-333|Merchant|123.45|2022-03-24:20.18.42.5550|merchant-sig", s);
}
[TestMethod]
public void CTMR_FromString()
{
var mtc = TestData.MakeMTCRequest();
var ctmr = ClientToMerchantResponse.FromString("1234|2022-03-24:20.18.43.1234|client-sig|client-card", mtc);
Assert.AreEqual("1234" , ctmr.ClientId);
Assert.AreEqual("555" , ctmr.MerchantRequest.MerchantId);
Assert.AreEqual("client-sig" , ctmr.ClientSignature);
Assert.AreEqual("merchant-sig", ctmr.MerchantRequest.MerchantSignature);
}
[TestMethod]
public void PayResponse_AsDataForSig()
{
var pr = new PaymentResponse
{
GatewayTransactionId = "gwt-id",
PaymentRequest = TestData.MakePaymentRequest(),
Success = false,
RejectReason = "rejected",
ServerSignature = "server-sig",
ServerTransactionId = "server_tr-id",
ServerTimeStampUTC = DateTime.Parse("2022-03-24 20:18:44.3452"),
};
var s= pr.AsDataForSignature();
Assert.AreEqual("server_tr-id|gwt-id|1234|2022-03-24:20.18.43.1234|555|111-222-333|Merchant|123.45|2022-03-24:20.18.42.5550|merchant-sig|abc|2022-03-24:20.18.44.3452|False|rejected", s);
}
}
}