Ejemplo n.º 1
0
        public async Task WhenCalledAsTestUser_ItShouldCreateAPayment()
        {
            this.apiKeyRepository.Setup(v => v.GetApiKey(UserType.TestUser)).Returns(ApiKey);

            var expectedInput = new CreatePaymentIn
            {
                Amount             = TaxamoTransactionResult.TotalAmount.ToMajorDenomination(),
                PaymentTimestamp   = CommitTaxamoTransaction.ToTaxamoDateTimeString(StripeTransactionResult.Timestamp),
                PaymentInformation = string.Format(
                    "Reference: {0}, StripeChargeId: {1}",
                    StripeTransactionResult.TransactionReference.Value,
                    StripeTransactionResult.StripeChargeId),
            };

            CreatePaymentIn actualInput = null;

            this.taxamoService.Setup(v => v.CreatePaymentAsync(TaxamoTransactionResult.Key, It.IsAny <CreatePaymentIn>(), ApiKey))
            .Callback <string, CreatePaymentIn, string>((a, b, c) => actualInput = b)
            .ReturnsAsync(new CreatePaymentOut());

            await this.target.ExecuteAsync(TaxamoTransactionResult, StripeTransactionResult, UserType.TestUser);

            Assert.AreEqual(
                JsonConvert.SerializeObject(expectedInput, Formatting.None),
                JsonConvert.SerializeObject(actualInput, Formatting.None));
        }
Ejemplo n.º 2
0
        public void Initialize()
        {
            this.apiKeyRepository = new Mock <ITaxamoApiKeyRepository>(MockBehavior.Strict);
            this.taxamoService    = new Mock <ITaxamoService>(MockBehavior.Strict);

            this.target = new CommitTaxamoTransaction(
                this.apiKeyRepository.Object,
                this.taxamoService.Object);
        }