Пример #1
0
class AccountTests(unittest.TestCase):
    def setUp(self):
        self.institution = Institution(name="Test Bank",
                                           ofx_org="Test Bank", 
                                           ofx_url="https://ofx.example.com", 
                                           ofx_fid="9999999")
        self.good_acct = Account(acct_type="CHECKING",
                                     acct_number="1122334455", 
                                     aba_number="123456789", 
                                     institution=self.institution)
        self.bad_acct  = Account(acct_type="Fnargle",
                                     acct_number="", aba_number="", 
                                     institution=None)
    
    def test_account_complete(self):
        self.assertEqual(self.good_acct.is_complete(), True)
        self.assertEqual(self.bad_acct.is_complete(), False)
    
    def test_as_dict(self):
        testdict = self.good_acct.as_dict()
        self.assertEqual(testdict["acct_type"], "CHECKING")
        self.assertEqual(testdict["acct_number"], "1122334455")
        self.assertEqual(testdict["aba_number"], "123456789")
        self.assertEqual(testdict["desc"], None)
        self.assertEqual(testdict["balance"], None)
        
        fi_dict = testdict["institution"]
        self.assertEqual(fi_dict["name"], "Test Bank")
        self.assertEqual(fi_dict["ofx_org"], "Test Bank")
        self.assertEqual(fi_dict["ofx_url"], "https://ofx.example.com")
        self.assertEqual(fi_dict["ofx_fid"], "9999999")
    
    def test_load_from_dict(self):
        testdict = self.good_acct.as_dict()
        new_acct = Account.load_from_dict(testdict)
        self.assertEqual(new_acct.acct_type, "CHECKING")
        self.assertEqual(new_acct.acct_number, "1122334455")
        self.assertEqual(new_acct.aba_number, "123456789")
        self.assertEqual(new_acct.desc, None)
        self.assertEqual(new_acct.balance, None)
        
        new_fi = Institution.load_from_dict(testdict['institution'])
        self.assertEqual(new_fi.name, "Test Bank")
        self.assertEqual(new_fi.ofx_org, "Test Bank")
        self.assertEqual(new_fi.ofx_url, "https://ofx.example.com")
        self.assertEqual(new_fi.ofx_fid, "9999999")