public void ValidSavingTransaction_Should_Not_Return_An_Error() { //Arrange List <TransactionModel> testTransactionModelList = new List <TransactionModel>(); var testTransactionModel = new TransactionModel() { Account = "Account", Description = "Descrip", CurrencyCode = "GBP", Amount = "5" }; testTransactionModelList.Add(testTransactionModel); //Act ITransactionDataProvider transactionDataProvider = A.Fake <ITransactionDataProvider>(); A.CallTo(() => transactionDataProvider.Save(testTransactionModel)).Returns(1); var testTransaction = new TransactionProcess(new Iso4217DataProvider(), transactionDataProvider); var result = testTransaction.Process(testTransactionModelList); //Assert Assert.IsFalse(result.Any(m => m.IsErrored)); }
public TransactionService(IUnitOfWork unitOfWork, ITransactionDataProvider transactionDataProvider, ICurrencyNormalizer normalizer, ILogger <TransactionService> logger) { _unitOfWork = unitOfWork; _transactionDataProvider = transactionDataProvider; _normalizer = normalizer; _logger = logger; }
public void Validate_Required_Amount_Transaction() { //Arrange var testTransactionModel = new TransactionModel() { Account = "Account", Description = "Description", CurrencyCode = "USD", Amount = "" }; //Act ITransactionDataProvider transactionDataProvider = A.Fake <ITransactionDataProvider>(); var testTransaction = new TransactionProcess(new Iso4217DataProvider(), transactionDataProvider); var result = testTransaction.ValidateExcelContent(testTransactionModel); //Assert Assert.IsFalse(result); }
public void ValidateWrongIsoTransaction() { //Arrange var underTestTransaction = new TransactionInput() { Account = "Account", Description = "Descip", CurrencyCode = "GBE", Amount = "5" }; //Act ITransactionDataProvider transactionDataProvider = A.Fake <ITransactionDataProvider>(); var testTransaction = new TransactionProcessor(new Iso4217DataProvider(), transactionDataProvider); var result = testTransaction.Validate(underTestTransaction); //Assert Assert.False(result); }
public void ValidateFailedSavingTransaction() { //Arrange var testTransactionInput = new TransactionInput() { Account = "Account", Description = "Descrip", CurrencyCode = "GBP", Amount = "5" }; //Act var transation = Mapper.Map <Transaction>(testTransactionInput); ITransactionDataProvider transactionDataProvider = A.Fake <ITransactionDataProvider>(); A.CallTo(() => transactionDataProvider.Save(transation)).Returns(0); var transactionProcessor = new TransactionProcessor(new Iso4217DataProvider(), transactionDataProvider); var result = transactionProcessor.Process(testTransactionInput); //Assert Assert.True(result.Error); }
public RateService(IUnitOfWork unitOfWork, ITransactionDataProvider transactionDataProvider, ILogger <RateService> logger) { _unitOfWork = unitOfWork; _transactionDataProvider = transactionDataProvider; _logger = logger; }
public TransactionServiceTests() { _x10CadTransaction = new Transaction { ID = "4", Currency = KnownCurrencies.CAD, Amount = 23m, Sku = "AX10" }; var x10UsdTransactionDto = new TransactionDto { ID = "1", Currency = KnownCurrencies.USD, Amount = 23.5m, Sku = "AX10" }; var uowMock = new Mock <IUnitOfWork>(); uowMock.Setup(x => x.TransactionRepository.GetAll()) .Returns(new List <Transaction> { new Transaction { ID = "1", Currency = KnownCurrencies.USD, Amount = 23.5m, Sku = "AX10" }, new Transaction { ID = "2", Currency = KnownCurrencies.UYU, Amount = 44.00m, Sku = "AX90" }, new Transaction { ID = "3", Currency = KnownCurrencies.CAD, Amount = 10.5m, Sku = "AX15" }, _x10CadTransaction }.AsQueryable()); var transactionDataProvider = new Mock <ITransactionDataProvider>(); transactionDataProvider.Setup(x => x.GetTransactions()) .Returns(Task.Run(() => new List <Transaction> { new Transaction { Currency = KnownCurrencies.USD, Sku = "J385X", Amount = 18m }, new Transaction { Currency = KnownCurrencies.CAD, Sku = "J385Y", Amount = 44.5m } })); var failingTransactionDataProvider = new Mock <ITransactionDataProvider>(); failingTransactionDataProvider.Setup(x => x.GetTransactions()) .Returns(Task.Run(() => { throw new GNBException("some fake message", ErrorCode.UnableToRetrieveTransactionsFromQuietStone); return(new List <Transaction>()); })); var normalizer = new Mock <ICurrencyNormalizer>(); normalizer.Setup(x => x.Normalize(KnownCurrencies.USD, It.IsAny <IEnumerable <TransactionDto> >())) .Returns(Task.Run(() => new List <TransactionDto> { new TransactionDto { ID = _x10CadTransaction.ID, Currency = KnownCurrencies.USD, Sku = _x10CadTransaction.Sku, Amount = _x10CadTransaction.Amount * CadToUsdRate }, x10UsdTransactionDto }.AsEnumerable())); _unitOfWork = uowMock.Object; _normalizer = normalizer.Object; _failingTransactionDataProvider = failingTransactionDataProvider.Object; _transactionDataProvider = transactionDataProvider.Object; _logger = new Mock <ILogger <TransactionService> >().Object; MapsterConfig.Configure(); }
//Constructor public TransactionProcess(IIso4217DataProvider currencyProvider, ITransactionDataProvider transactionDataProvider) { _currencyProvider = currencyProvider; _transactionDataProvider = transactionDataProvider; }
public TransactionManager(ITransactionDataProvider transactionDataProvider, ITransactionProcessor transactionProcessor) { _transactionDataProvider = transactionDataProvider; _transactionProcessor = transactionProcessor; }