Skip to content

Commit 1a3a8b7

Browse files
authored
Merge pull request #37 from misanram/miguel-viendo-a-ver
fix: Corregido el cálculo del tiempo pra el comando /status
2 parents 29c27a5 + 2b07826 commit 1a3a8b7

3 files changed

Lines changed: 26 additions & 29 deletions

File tree

dev-requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
ruff
22
rope
33
pytest
4+
freezegun

test/test_utils.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,55 +4,57 @@
44
import datetime
55

66
import pytest
7+
from freezegun import freeze_time
8+
79
import utils
810

911

12+
@freeze_time("2019-05-16 13:35:16")
1013
def test_since_second():
1114
ref = datetime.datetime(2019, 5, 16, 13, 35, 15)
12-
now = datetime.datetime(2019, 5, 16, 13, 35, 16)
13-
assert utils.since(now, ref) == '1 second'
15+
assert utils.since(ref) == "1 second"
1416

1517

18+
@freeze_time("2019-05-16 13:35:21")
1619
def test_since_seconds():
1720
ref = datetime.datetime(2019, 5, 16, 13, 35, 15)
18-
now = datetime.datetime(2019, 5, 16, 13, 35, 21)
19-
assert utils.since(now, ref) == '6 seconds'
21+
assert utils.since(ref) == "6 seconds"
2022

2123

24+
@freeze_time("2019-05-16 13:36:21")
2225
def test_since_minute_and_seconds():
2326
ref = datetime.datetime(2019, 5, 16, 13, 35, 15)
24-
now = datetime.datetime(2019, 5, 16, 13, 36, 21)
25-
assert utils.since(now, ref) == '1 minute 6 seconds'
27+
assert utils.since(ref) == "1 minute 6 seconds"
2628

2729

30+
@freeze_time("2019-05-16 13:37:21")
2831
def test_since_minutes_and_seconds():
2932
ref = datetime.datetime(2019, 5, 16, 13, 35, 15)
30-
now = datetime.datetime(2019, 5, 16, 13, 37, 21)
31-
assert utils.since(now, ref) == '2 minutes 6 seconds'
33+
assert utils.since(ref) == "2 minutes 6 seconds"
3234

3335

36+
@freeze_time("2019-05-16 14:37:21")
3437
def test_since_hour_and_minutes_and_seconds():
3538
ref = datetime.datetime(2019, 5, 16, 13, 35, 15)
36-
now = datetime.datetime(2019, 5, 16, 14, 37, 21)
37-
assert utils.since(now, ref) == '1 hour 2 minutes 6 seconds'
39+
assert utils.since(ref) == "1 hour 2 minutes 6 seconds"
3840

3941

42+
@freeze_time("2019-05-16 15:37:21")
4043
def test_since_hours_and_minutes_and_seconds():
4144
ref = datetime.datetime(2019, 5, 16, 13, 35, 15)
42-
now = datetime.datetime(2019, 5, 16, 15, 37, 21)
43-
assert utils.since(now, ref) == '2 hours 2 minutes 6 seconds'
45+
assert utils.since(ref) == "2 hours 2 minutes 6 seconds"
4446

4547

48+
@freeze_time("2019-05-17 15:37:21")
4649
def test_since_day_hours_and_minutes_and_seconds():
4750
ref = datetime.datetime(2019, 5, 16, 13, 35, 15)
48-
now = datetime.datetime(2019, 5, 17, 15, 37, 21)
49-
assert utils.since(now, ref) == '1 day 2 hours 2 minutes 6 seconds'
51+
assert utils.since(ref) == "1 day 2 hours 2 minutes 6 seconds"
5052

5153

54+
@freeze_time("2019-05-19 15:37:21")
5255
def test_since_days_hours_and_minutes_and_seconds():
5356
ref = datetime.datetime(2019, 5, 16, 13, 35, 15)
54-
now = datetime.datetime(2019, 5, 19, 15, 37, 21)
55-
assert utils.since(now, ref) == '3 days 2 hours 2 minutes 6 seconds'
57+
assert utils.since(ref) == "3 days 2 hours 2 minutes 6 seconds"
5658

5759

5860
if __name__ == "__main__":

utils.py

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -101,21 +101,15 @@ def pluralise(number: int, singular: str, plural: Optional[str] = None) -> str:
101101
return singular if number == 1 else plural
102102

103103

104-
def since(dt=None, reference=datetime.datetime.now()) -> str:
104+
def since(reference) -> str:
105105
"""Returns a textual description of time passed.
106106
107-
Parameters:
108-
109-
- dt: datetime is the date to calculate the difference from
110-
reference. If not used, take the value from the current
111-
datetime.
112-
107+
Parameter:
113108
- reference: datetime is the datetime used to get the difference
114-
ir delta. If not defined, default value is since the definition
115-
of the function, this is,since the moment the current run of the
116-
program started.
109+
ir delta.
117110
"""
118-
dt = dt or datetime.datetime.now()
111+
112+
dt = datetime.datetime.now()
119113
delta = dt - reference
120114
buff = []
121115
days = delta.days
@@ -125,10 +119,10 @@ def since(dt=None, reference=datetime.datetime.now()) -> str:
125119
if seconds > 3600:
126120
hours = seconds // 3600
127121
buff.append(f"{hours} {pluralise(hours, 'hour')}")
128-
seconds = seconds % 3600
122+
seconds %= 3600
129123
minutes = seconds // 60
130124
if minutes > 0:
131125
buff.append(f"{minutes} {pluralise(minutes, 'minute')}")
132-
seconds = seconds % 60
126+
seconds %= 60
133127
buff.append(f"{seconds} {pluralise(seconds, 'second')}")
134128
return " ".join(buff)

0 commit comments

Comments
 (0)