@@ -13,32 +13,77 @@ def setUp(self):
13
13
14
14
def test_create (self ):
15
15
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
18
24
account .AccountSubType = "CashOnHand"
19
- account .save (qb = self .qb_client )
20
25
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 )
23
32
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" )
27
40
28
41
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"
30
52
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 )
33
58
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
36
68
37
69
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
+
38
74
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" ,
41
78
"AccountSubType" : "CashOnHand"
42
79
})
43
80
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