Skip to content

Commit cdbcf79

Browse files
author
Paul Philion
committed
implemented and added tests for recyclable tickets
1 parent 9a69e8e commit cdbcf79

File tree

2 files changed

+12
-21
lines changed

2 files changed

+12
-21
lines changed

redmine/tickets.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -328,18 +328,16 @@ def recycle(self, ticket:Ticket, team_id: int):
328328

329329

330330
def dusty(self) -> set[Ticket]:
331-
# tickets that are older than
331+
# tickets that are older than 7
332332
tickets = set()
333333
tickets.update(self.older_than(TICKET_DUSTY_AGE))
334-
tickets.update(self.due()) ### FIXME REMOVE
335334
return tickets
336335

337336

338-
def expired_tickets(self) -> set[Ticket]:
337+
def recyclable(self) -> set[Ticket]:
339338
# tickets that have expired: older that TICKET_MAX_AGE
340339
tickets = set()
341340
tickets.update(self.older_than(TICKET_MAX_AGE))
342-
tickets.update(self.due()) ### FIXME REMOVE
343341
return tickets
344342

345343

tests/test_tickets.py

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88

99
from dotenv import load_dotenv
1010

11-
from redmine.model import ParentTicket
11+
from redmine.model import ParentTicket, synctime
12+
from redmine.tickets import TICKET_DUSTY_AGE, TICKET_MAX_AGE
1213

1314
from tests import test_utils
1415

@@ -18,22 +19,14 @@
1819
class TestTicketManager(test_utils.MockRedmineTestCase):
1920
"""Mocked testing of ticket manager"""
2021

21-
@unittest.skip # FIXME currently rewriting
22-
@patch('redmine.session.RedmineSession.get')
23-
def test_expired_tickets(self, mock_get:MagicMock):
24-
# setup the mock tickets
25-
ticket = test_utils.mock_ticket()
26-
result = test_utils.mock_result([
27-
ticket,
28-
test_utils.mock_ticket(),
29-
])
30-
mock_get.return_value = result.asdict()
31-
32-
expired = self.tickets_mgr.expired_tickets()
33-
self.assertGreater(len(expired), 0)
34-
expired_ids = [ticket.id for ticket in expired]
35-
self.assertIn(ticket.id, expired_ids)
36-
#FIXME mock_get.assert_called_once()
22+
def test_dusty_tickets(self):
23+
for ticket in self.tickets_mgr.dusty():
24+
age = synctime.age(ticket.updated_on)
25+
self.assertGreaterEqual(age.days, TICKET_DUSTY_AGE)
26+
27+
for ticket in self.tickets_mgr.recyclable():
28+
age = synctime.age(ticket.updated_on)
29+
self.assertGreaterEqual(age.days, TICKET_MAX_AGE)
3730

3831

3932
@unittest.skip # FIXME currently breaking mock testing

0 commit comments

Comments
 (0)