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)