@@ -13,32 +13,77 @@ def setUp(self):
1313
1414    def  test_create (self ):
1515        account  =  Account ()
16-         account .AcctNum  =  self .account_number 
17-         account .Name  =  self .name 
16+         # Use shorter timestamp for uniqueness (within 20 char limit) 
17+         timestamp  =  datetime .now ().strftime ('%m%d%H%M%S' )
18+         unique_number  =  f"T{ timestamp }    # T for Test 
19+         unique_name  =  f"Test Account { timestamp }  
20+         
21+         account .AcctNum  =  unique_number 
22+         account .Name  =  unique_name 
23+         account .AccountType  =  "Bank"   # Required field 
1824        account .AccountSubType  =  "CashOnHand" 
19-         account .save (qb = self .qb_client )
2025
21-         self .id  =  account .Id 
22-         query_account  =  Account .get (account .Id , qb = self .qb_client )
26+         created_account  =  account .save (qb = self .qb_client )
27+         
28+         # Verify the save was successful 
29+         self .assertIsNotNone (created_account )
30+         self .assertIsNotNone (created_account .Id )
31+         self .assertTrue (int (created_account .Id ) >  0 )
2332
24-         self .assertEqual (account .Id , query_account .Id )
25-         self .assertEqual (query_account .Name , self .name )
26-         self .assertEqual (query_account .AcctNum , self .account_number )
33+         query_account  =  Account .get (created_account .Id , qb = self .qb_client )
34+ 
35+         self .assertEqual (created_account .Id , query_account .Id )
36+         self .assertEqual (query_account .Name , unique_name )
37+         self .assertEqual (query_account .AcctNum , unique_number )
38+         self .assertEqual (query_account .AccountType , "Bank" )
39+         self .assertEqual (query_account .AccountSubType , "CashOnHand" )
2740
2841    def  test_update (self ):
29-         account  =  Account .filter (Name = self .name , qb = self .qb_client )[0 ]
42+         # First create an account with a unique name and number 
43+         timestamp  =  datetime .now ().strftime ('%m%d%H%M%S' )
44+         unique_number  =  f"T{ timestamp }  
45+         unique_name  =  f"Test Account { timestamp }  
46+         
47+         account  =  Account ()
48+         account .AcctNum  =  unique_number 
49+         account .Name  =  unique_name 
50+         account .AccountType  =  "Bank" 
51+         account .AccountSubType  =  "CashOnHand" 
3052
31-         account .Name  =  "Updated Name {0}" .format (self .account_number )
32-         account .save (qb = self .qb_client )
53+         created_account  =  account .save (qb = self .qb_client )
54+         
55+         # Verify the save was successful 
56+         self .assertIsNotNone (created_account )
57+         self .assertIsNotNone (created_account .Id )
3358
34-         query_account  =  Account .get (account .Id , qb = self .qb_client )
35-         self .assertEqual (query_account .Name , "Updated Name {0}" .format (self .account_number ))
59+         # Change the name 
60+         updated_name  =  f"{ unique_name }  
61+         created_account .Name  =  updated_name 
62+         updated_account  =  created_account .save (qb = self .qb_client )
63+ 
64+         # Query the account and make sure it has changed 
65+         query_account  =  Account .get (updated_account .Id , qb = self .qb_client )
66+         self .assertEqual (query_account .Name , updated_name )
67+         self .assertEqual (query_account .AcctNum , unique_number )  # Account number should not change 
3668
3769    def  test_create_using_from_json (self ):
70+         timestamp  =  datetime .now ().strftime ('%m%d%H%M%S' )
71+         unique_number  =  f"T{ timestamp }  
72+         unique_name  =  f"Test JSON { timestamp }  
73+         
3874        account  =  Account .from_json ({
39-             "AcctNum" : datetime .now ().strftime ('%d%H%M%S' ),
40-             "Name" : "{} {}" .format (self .name , self .time .strftime ("%Y-%m-%d %H:%M:%S" )),
75+             "AcctNum" : unique_number ,
76+             "Name" : unique_name ,
77+             "AccountType" : "Bank" ,
4178            "AccountSubType" : "CashOnHand" 
4279        })
4380
44-         account .save (qb = self .qb_client )
81+         created_account  =  account .save (qb = self .qb_client )
82+         self .assertIsNotNone (created_account )
83+         self .assertIsNotNone (created_account .Id )
84+ 
85+         # Verify we can get the account 
86+         query_account  =  Account .get (created_account .Id , qb = self .qb_client )
87+         self .assertEqual (query_account .Name , unique_name )
88+         self .assertEqual (query_account .AccountType , "Bank" )
89+         self .assertEqual (query_account .AccountSubType , "CashOnHand" )
0 commit comments