def test_getTaskOccurrenceForDate_recurrent_endDate(self): taskDate = datetime.datetime(2020, 5, 17) task = Task() task.dueDateTime = taskDate task.recurrence = Recurrent() task.recurrence.setDaily(1) task.recurrence.endDate = taskDate.date() + timedelta(days=5) entry = task.getTaskOccurrenceForDate(taskDate.date() + timedelta(days=9)) self.assertEqual(entry, None)
def test_getTaskOccurrenceForDate_recurrent_far(self): taskDate = datetime.datetime(2020, 5, 17) task = Task() task.dueDateTime = taskDate task.recurrence = Recurrent() task.recurrence.setDaily(1) entry = task.getTaskOccurrenceForDate(taskDate.date() + timedelta(days=3333 * 366)) self.assertEqual(entry.task, task) self.assertEqual(entry.offset, 1219878)
def test_setCompleted_recurrent(self): taskDate = datetime.date(2020, 5, 17) task = Task() task.recurrence = Recurrent() task.recurrence.setDaily() task.setDefaultDate(taskDate) task.setCompleted() self.assertEqual(task.completed, 0) self.assertEqual(task.occurrenceStart.date(), datetime.date(2020, 5, 18)) self.assertEqual(task.occurrenceDue.date(), datetime.date(2020, 5, 18))
def test_getTaskOccurrenceForDate_recurrent_completed(self): task = Task() todayDate = datetime.datetime.today() dueDate = todayDate.replace(day=8, hour=12) task.dueDateTime = dueDate task.recurrence = Recurrent() task.recurrence.setWeekly() task.setCompleted() ## mark first occurrence completed occurrence1 = task.getTaskOccurrenceForDate(dueDate.date() - timedelta(days=7)) self.assertEqual(occurrence1, None) occurrence2 = task.getTaskOccurrenceForDate(dueDate.date()) self.assertNotEqual(occurrence2, None) self.assertEqual(occurrence2.isCompleted(), True) occurrence3 = task.getTaskOccurrenceForDate(dueDate.date() + timedelta(days=7)) self.assertNotEqual(occurrence3, None) self.assertEqual(occurrence3.isCompleted(), False)
from hanlendar.domainmodel.task import Task from hanlendar.domainmodel.recurrent import Recurrent ## ============================= main section =================================== if __name__ != '__main__': sys.exit(0) app = QApplication(sys.argv) app.setApplicationName("Hanlendar") app.setOrganizationName("arnet") ### app.setOrganizationDomain("www.my-org.com") parentTask = Task() parentTask.recurrence = Recurrent() parentTask.recurrence.setWeekly(1) task = Task() task.setParent(parentTask) task.title = "Task 1" # pylint: disable=C0301 task.description = ( '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">' '<html><head><meta name="qrichtext" content="1" /><style type="text/css">' 'p, li { white-space: pre-wrap; }' '</style></head><body style=" font-family:\'Noto Sans\'; font-size:9pt; font-weight:400; font-style:normal;">' '<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">A description</p>' '<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>' '<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="www.google.pl"><span style=" text-decoration: underline; color:#0000ff;">www.google.pl</span></a> </p>' '<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>'