Skip to content

Commit 75b0891

Browse files
Semihaltravispavek
authored andcommitted
Convert int to timedelta into result.elapsed (#130)
* Convert int to timedelta into result.elapsed If you set the value of 'elapsed' directly via setter, then call result.elapsed will be error - "TypeError: expected string or bytes-like object". * Add unittest for result is int type
1 parent 866078d commit 75b0891

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

testrail/result.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,9 @@ def elapsed(self):
7979
duration = self._content.get('elapsed')
8080
if duration is None:
8181
return None
82+
83+
if isinstance(duration, int):
84+
return timedelta(seconds=duration)
8285
return testrail_duration_to_timedelta(duration)
8386

8487
@elapsed.setter

tests/test_result.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,15 @@ def test_set_defects_empty_list(self):
245245
def test_get_elapsed_type(self):
246246
self.assertEqual(type(self.result.elapsed), timedelta)
247247

248+
def test_get_elapsed_int_type(self):
249+
self.result._content['elapsed'] = 1
250+
self.assertEqual(type(self.result.elapsed), timedelta)
251+
252+
def test_get_elapsed_int_seconds(self):
253+
self.result._content['elapsed'] = 60
254+
td = timedelta(seconds=60)
255+
self.assertEqual(self.result.elapsed, td)
256+
248257
def test_get_elapsed_null(self):
249258
self.result._content['elapsed'] = None
250259
self.assertEqual(self.result.elapsed, None)

0 commit comments

Comments
 (0)