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")