public void ShouldReadAmoutCorrectly()
        {
            var parser = new OFXParser();
            var amount = parser.Parse(GetDummyDataFile()).First().Amount;

            Assert.True(amount != 0);
        }
        public void ShouldReadOnlyTheNodeContent()
        {
            var parser      = new OFXParser();
            var transaction = parser.Parse(GetDummyDataFile()).First();

            Assert.True(transaction.Description.IndexOf("<MEMO>") < 0);
        }
        public void ShouldConvertToList()
        {
            var parser = new OFXParser();
            var list   = parser.Parse(GetDummyDataFile());

            Assert.True(list is List <BankTransaction>);
        }
        public void ShouldReadDateTimeCorrectly()
        {
            var parser        = new OFXParser();
            var wrongDateTime = new DateTime(1, 1, 1, 0, 0, 0);
            var dateTime      = parser.Parse(GetDummyDataFile()).First().Date;

            Assert.False(dateTime == wrongDateTime);
        }
Example #5
0
        public void ShouldSaveWithoutDuplication()
        {
            var repository         = ConfigureBankTransactionRepositoryMock();
            var parser             = new OFXParser();
            var fileService        = new FileService();
            var service            = new BankTransactionsService(parser, fileService, repository);
            var newBankTransaction = GenerateMockedBankTransactions().FirstOrDefault();

            newBankTransaction.Id = 0;

            var savedBankTransactions = service.SaveBankTransactions(new List <BankTransaction> {
                newBankTransaction
            });

            Assert.True(savedBankTransactions.Count() == 0);
        }
Example #6
0
        /// <summary>
        /// Parse and map extracts to reconciliate
        /// </summary>
        /// <param name="files"></param>
        /// <returns></returns>
        public async Task <BankConsolidateExtractDTO> ParseAndConsolidateExtractsAsync(IList <IFormFile> files)
        {
            List <Extract> extracts = new List <Extract>();

            // Parse each ofx file and map it to domain
            foreach (var file in files)
            {
                var parsedExtract = await OFXParser.Parse(file);

                var extract = parsedExtract.ToDomain();

                extracts.Add(extract);
            }

            // Reconciliate extracts
            BankConsolidateExtract result = this.bankOperationsDomainService.ConsolidateExtracts(extracts);

            // Map result to DTO
            var response = result.ToDTO();

            return(response);
        }
 public void ShouldParseValidExtract()
 {
     var extract = OFXParser.GetExtract("C:\\extrato.ofx");
 }