test_csv2mentor.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. '''Created Sep 9, 2023 deeejas'''
  2. import unittest
  3. import os
  4. from pymt940 import (PaymentsProcessorBtrl, private, utils)
  5. from jinja2 import (Environment, PackageLoader)
  6. import pandas as pd
  7. home = os.path.expanduser('~')
  8. downloads_dir = os.path.join(home, 'Downloads', 'mentor', 'import', 'MZK')
  9. currency = 'ron'
  10. # currency = 'eur'
  11. # currency = 'usd'
  12. # currency = 'huf'
  13. acc_currency = 'accountron'
  14. # acc_currency = 'accounteur'
  15. # acc_currency = 'accountusd'
  16. # acc_currency = 'accounthuf'
  17. class CsvTest(unittest.TestCase):
  18. templates = Environment(loader=PackageLoader('pymt940', 'templates'))
  19. processor = PaymentsProcessorBtrl(os.path.join(downloads_dir, private.MZK[currency]), private.MZK['name'],
  20. account_name=private.MZK[acc_currency]['name'],
  21. account_number=private.MZK[acc_currency]['number'],
  22. currency=private.MZK[acc_currency]['currency'],
  23. account_location=private.MZK['location'],
  24. account_agency=private.MZK['agency'],
  25. account_symbol=private.MZK['symbol'])
  26. df = pd.read_csv('../csv/RO26BTRL01301202N63584XX.csv', skiprows=14, keep_default_na=False).astype({'Balance': 'object'})
  27. def test_df(self):
  28. # print(df['Description'])
  29. desc = [d for d in self.df['Description']]
  30. text = desc[2]
  31. first_semicolon_index_from_end = text.rfind(';')
  32. second_semicolon_index_from_end = text.rfind(';', 0, first_semicolon_index_from_end)
  33. third_semicolon_index_from_end = text.rfind(';', 0, second_semicolon_index_from_end)
  34. self.df['Name'] = self.df['Description'].apply(utils.re_check)
  35. print(self.df['Name'])
  36. def test_process_income(self):
  37. df = self.processor.process_income_data()
  38. print(df['Name'])
  39. def test_process_payment(self):
  40. df = self.processor.process_payment_data()
  41. print(df['Name'])
  42. def test_mentor_names(self):
  43. df_dict = utils.get_partners(self.processor.partner_data)
  44. fiscal_codes = df_dict['CodFiscal']
  45. mentor_names = df_dict['Denumire']
  46. print(mentor_names)
  47. if __name__ == "__main__":
  48. # import sys;sys.argv = ['', 'Test.testName']
  49. unittest.main()