From 4a8082251a78a2196319e40dca7b21764d4e29ed Mon Sep 17 00:00:00 2001
From: "William N. Green" <william.green@gmail.com>
Date: Sun, 16 Mar 2025 10:13:04 -0700
Subject: [PATCH 1/2] Add CostRate to TimeActivity

---
 quickbooks/objects/timeactivity.py      | 1 +
 tests/unit/objects/test_timeactivity.py | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/quickbooks/objects/timeactivity.py b/quickbooks/objects/timeactivity.py
index feea8887..1d4bde48 100644
--- a/quickbooks/objects/timeactivity.py
+++ b/quickbooks/objects/timeactivity.py
@@ -32,6 +32,7 @@ def __init__(self):
         self.StartTime = None
         self.EndTime = None
         self.Description = None
+        self.CostRate = None
 
         self.VendorRef = None
         self.CustomerRef = None
diff --git a/tests/unit/objects/test_timeactivity.py b/tests/unit/objects/test_timeactivity.py
index fa9f870b..586f3d1d 100644
--- a/tests/unit/objects/test_timeactivity.py
+++ b/tests/unit/objects/test_timeactivity.py
@@ -9,7 +9,6 @@ def test_unicode(self):
         time_activity = TimeActivity()
 
         time_activity.NameOf = "test"
-        time_activity.TimeZone = "CST"
         time_activity.BillableStatus = "test"
         time_activity.Taxable = False
         time_activity.HourlyRate = 0
@@ -18,9 +17,9 @@ def test_unicode(self):
         time_activity.BreakHours = 1
         time_activity.BreakMinutes = 60
         time_activity.Description = "test"
+        time_activity.CostRate = 50.0
 
         self.assertEqual(str(time_activity), "test")
-        self.assertEqual(time_activity.TimeZone, "CST")
         self.assertEqual(time_activity.BillableStatus, "test")
         self.assertEqual(time_activity.Taxable, False)
         self.assertEqual(time_activity.HourlyRate, 0)
@@ -29,6 +28,7 @@ def test_unicode(self):
         self.assertEqual(time_activity.BreakHours, 1)
         self.assertEqual(time_activity.BreakMinutes, 60)
         self.assertEqual(time_activity.Description, "test")
+        self.assertEqual(time_activity.CostRate, 50.0)
 
     def test_valid_object_name(self):
         obj = TimeActivity()

From 7bc297360b337fb3ba63059d2842440a196cf1e2 Mon Sep 17 00:00:00 2001
From: "William N. Green" <william.green@gmail.com>
Date: Sun, 16 Mar 2025 10:21:44 -0700
Subject: [PATCH 2/2] add integration test

---
 tests/integration/test_timeactivity.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tests/integration/test_timeactivity.py b/tests/integration/test_timeactivity.py
index 707d65de..39ad1a0b 100644
--- a/tests/integration/test_timeactivity.py
+++ b/tests/integration/test_timeactivity.py
@@ -22,6 +22,7 @@ def test_create(self):
         time_activity.Description = "Test description"
         time_activity.StartTime = qb_datetime_utc_offset_format(datetime(2016, 7, 22, 10, 0), '-07:00')
         time_activity.EndTime = qb_datetime_utc_offset_format(datetime(2016, 7, 22, 11, 0), '-07:00')
+        time_activity.CostRate = 50.0
         time_activity.save(qb=self.qb_client)
 
         query_time_activity = TimeActivity.get(time_activity.Id, qb=self.qb_client)
@@ -30,6 +31,7 @@ def test_create(self):
         self.assertEqual(query_time_activity.NameOf, "Employee")
         self.assertEqual(query_time_activity.Description, "Test description")
         self.assertEqual(query_time_activity.EmployeeRef.value, employee.Id)
+        self.assertEqual(query_time_activity.CostRate, 50.0)
 
         # Quickbooks has issues with returning the correct StartTime and EndTime
         #self.assertEqual(query_time_activity.StartTime, '2016-07-22T10:00:00-07:00')
@@ -38,8 +40,10 @@ def test_create(self):
     def test_update(self):
         time_activity = TimeActivity.all(max_results=1, qb=self.qb_client)[0]
         time_activity.Description = "Updated test description"
+        time_activity.CostRate = 75.0
         time_activity.save(qb=self.qb_client)
 
         query_time_activity = TimeActivity.get(time_activity.Id, qb=self.qb_client)
 
         self.assertEqual(query_time_activity.Description, "Updated test description")
+        self.assertEqual(query_time_activity.CostRate, 75.0)