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));
        }
Example #2
0
 public static ObjectId StartTransaction <T>(T state, TransactionProcess <T> transProcess)
 {
     using (Transaction trans = StartTransaction())
     {
         return(transProcess(state, trans, true));
     }
 }
        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 Validate_Excel_File_NoAmount()
        {
            //Arrange
            var fileName     = "transactions_no_amount.xlsx";
            var resourceName = $"c:\\temp\\{fileName}";

            IExcelDataReader excelReader;

            FileStream stream = File.Open(resourceName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);

            excelReader = ExcelReaderFactory.CreateReader(stream);

            //Act
            var mockTransactionDataProvider = A.Fake <ITransactionDataProvider>();
            var testTransaction             = new TransactionProcess(new Iso4217DataProvider(), mockTransactionDataProvider);

            var errorMessages = testTransaction.ValidateExcelFirstRow(excelReader);

            //Assert
            Assert.IsTrue(errorMessages.Count > 0);
            Assert.AreEqual($"In uploaded file the last column should be Amount", errorMessages[0].Message);
        }