Repository :
http://git.fedorahosted.org/cgit/fedocal.git
On branch : master
---------------------------------------------------------------
commit 8b96d41f192548128692f4fb07acdf85ca0b59fb
Author: Pierre-Yves Chibon <pingou(a)pingoured.fr>
Date: Sun Nov 4 16:38:15 2012 +0100
Add unit-test for the delete_recursive_meeting function
And guess what?? Writing this test showed up a bug which this
commit fixes as well! \รณ/
---------------------------------------------------------------
fedocal/fedocallib/__init__.py | 8 ++++----
fedocal/tests/test_fedocallib.py | 16 ++++++++++++++++
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/fedocal/fedocallib/__init__.py b/fedocal/fedocallib/__init__.py
index 7292165..351edf0 100644
--- a/fedocal/fedocallib/__init__.py
+++ b/fedocal/fedocallib/__init__.py
@@ -353,14 +353,14 @@ def delete_recursive_meeting(session, meeting):
:arg meeting: the Meeting object from which are removed all further
meetings.
"""
- today = datetime.utcnow()
+ today = date.today()
if not meeting.recursion_frequency \
- or meeting.recursion_ends < today.date():
+ or meeting.recursion_ends < today:
return
else:
- meeting.recursion_ends = today.date()
+ meeting.recursion_ends = today
meeting.save(session)
- session.commit(meeting)
+ session.commit()
def _generate_date_rounded_to_the_hour(meetingdate, offset):
diff --git a/fedocal/tests/test_fedocallib.py b/fedocal/tests/test_fedocallib.py
index 5e29168..43f6fca 100644
--- a/fedocal/tests/test_fedocallib.py
+++ b/fedocal/tests/test_fedocallib.py
@@ -355,6 +355,22 @@ class Fedocallibtests(Modeltests):
self.assertEqual(len(meetings), 0)
self.assertEqual(meetings, [])
+ def test_delete_recursive_meeting(self):
+ """ Test the delete_recursive_meeting function.
"""
+ self.__setup_meeting()
+ meeting = model.Meeting.by_id(self.session, 6)
+ self.assertNotEqual(meeting, None)
+ self.assertEqual(meeting.meeting_name, 'Another test meeting2')
+ self.assertEqual(meeting.recursion_ends,
+ TODAY + timedelta(days=90))
+
+ fedocallib.delete_recursive_meeting(self.session, meeting)
+
+ meeting = model.Meeting.by_id(self.session, 6)
+ self.assertNotEqual(meeting, None)
+ self.assertEqual(meeting.meeting_name, 'Another test meeting2')
+ self.assertEqual(meeting.recursion_ends, date.today())
+
def test_agenda_is_free(self):
""" Test the agenda_is_free function. """
self.__setup_meeting()