[fix] [hot] birthdays

This commit is contained in:
Rushabh Mehta 2014-11-17 11:30:11 +05:30
parent 2b8a9b63f9
commit 9de77b59de
3 changed files with 32 additions and 6 deletions

View file

@ -792,7 +792,7 @@ def run_tests(app=None, module=None, doctype=None, verbose=False, tests=(), driv
import frappe.test_runner
from frappe.utils import sel
sel.start(verbose, driver)
# sel.start(verbose, driver)
ret = 1
try:
@ -801,7 +801,8 @@ def run_tests(app=None, module=None, doctype=None, verbose=False, tests=(), driv
if len(ret.failures) == 0 and len(ret.errors) == 0:
ret = 0
finally:
sel.close()
pass
# sel.close()
return ret

View file

@ -131,7 +131,7 @@ def get_events(start, end, user=None, for_reminder=False):
# repeat for all years in period
for year in range(start_year, end_year+1):
date = str(year) + "-" + event_start
if date >= start and date <= repeat:
if date >= start and date <= end and date <= repeat:
add_event(e, date)
remove_events.append(e)
@ -148,7 +148,7 @@ def get_events(start, end, user=None, for_reminder=False):
start_from = date
for i in xrange(int(date_diff(end, start) / 30) + 3):
if date >= start and date <= repeat and date >= event_start:
if date >= start and date <= end and date <= repeat and date >= event_start:
add_event(e, date)
date = add_months(start_from, i+1)
@ -163,7 +163,7 @@ def get_events(start, end, user=None, for_reminder=False):
date = add_days(start, weekday - start_weekday)
for cnt in xrange(int(date_diff(end, start) / 7) + 3):
if date >= start and date <= repeat and date >= event_start:
if date >= start and date <= end and date <= repeat and date >= event_start:
add_event(e, date)
date = add_days(date, 7)
@ -173,7 +173,7 @@ def get_events(start, end, user=None, for_reminder=False):
if e.repeat_on=="Every Day":
for cnt in xrange(date_diff(end, start) + 1):
date = add_days(start, cnt)
if date >= event_start and date <= repeat \
if date >= event_start and date <= end and date <= repeat \
and e[weekdays[getdate(date).weekday()]]:
add_event(e, date)
remove_events.append(e)

View file

@ -8,6 +8,8 @@ import frappe.defaults
import unittest
import json
from frappe.core.doctype.event.event import get_events
test_records = frappe.get_test_records('Event')
class TestEvent(unittest.TestCase):
@ -94,3 +96,26 @@ class TestEvent(unittest.TestCase):
# cleanup
ev.delete()
def test_recurring(self):
ev = frappe.get_doc({
"doctype":"Event",
"subject": "_Test Event",
"starts_on": "2014-02-01",
"event_type": "Public",
"repeat_this_event": 1,
"repeat_on": "Every Year"
})
ev.insert()
ev_list = get_events("2014-02-01", "2014-02-01", "Administrator", for_reminder=True)
self.assertTrue(filter(lambda e: e.name==ev.name, ev_list))
ev_list1 = get_events("2015-01-20", "2015-01-20", "Administrator", for_reminder=True)
self.assertFalse(filter(lambda e: e.name==ev.name, ev_list1))
ev_list2 = get_events("2014-02-20", "2014-02-20", "Administrator", for_reminder=True)
self.assertFalse(filter(lambda e: e.name==ev.name, ev_list2))
ev_list3 = get_events("2015-02-01", "2015-02-01", "Administrator", for_reminder=True)
self.assertTrue(filter(lambda e: e.name==ev.name, ev_list3))