@@ -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 } _updated"
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