def test_generate_datetimes(): helper = AllocationFormHelpers() assert helper.generate_dates( date(2015, 1, 1), date(2015, 1, 1), time(12, 0), time(16, 0)) == [ (datetime(2015, 1, 1, 12), datetime(2015, 1, 1, 16)) ] assert helper.generate_dates( date(2015, 1, 1), date(2015, 1, 2), time(12, 0), time(16, 0)) == [ (datetime(2015, 1, 1, 12), datetime(2015, 1, 1, 16)), (datetime(2015, 1, 2, 12), datetime(2015, 1, 2, 16)) ] assert helper.generate_dates( date(2015, 1, 4), date(2015, 1, 10), time(12, 0), time(16, 0), weekdays=[0, 1, 2]) == [ (datetime(2015, 1, 5, 12), datetime(2015, 1, 5, 16)), (datetime(2015, 1, 6, 12), datetime(2015, 1, 6, 16)), (datetime(2015, 1, 7, 12), datetime(2015, 1, 7, 16)) ] assert helper.generate_dates( date(2015, 1, 1), date(2015, 1, 2), time(12, 0), time(0, 0)) == [ (datetime(2015, 1, 1, 12), datetime(2015, 1, 2)), (datetime(2015, 1, 2, 12), datetime(2015, 1, 3)) ]
def test_combine_datetime(): helper = AllocationFormHelpers() helper.date = Bunch(data=date(2015, 1, 1)) helper.time = Bunch(data=None) assert helper.combine_datetime('date', 'time') == datetime(2015, 1, 1) helper.time = Bunch(data=time(12, 00)) assert helper.combine_datetime('date', 'time') == datetime(2015, 1, 1, 12) helper.date = Bunch(data=None) helper.time = Bunch(data=None) assert helper.combine_datetime('date', 'time') is None
def test_generate_dates(): helper = AllocationFormHelpers() assert helper.generate_dates(date(2015, 1, 1), date(2015, 1, 1)) == [ (datetime(2015, 1, 1), datetime(2015, 1, 1)) ] assert helper.generate_dates(date(2015, 1, 1), date(2015, 1, 2)) == [ (datetime(2015, 1, 1), datetime(2015, 1, 1)), (datetime(2015, 1, 2), datetime(2015, 1, 2)), ] assert helper.generate_dates( date(2015, 1, 4), date(2015, 1, 10), weekdays=[0, 1, 2]) == [ (datetime(2015, 1, 5), datetime(2015, 1, 5)), (datetime(2015, 1, 6), datetime(2015, 1, 6)), (datetime(2015, 1, 7), datetime(2015, 1, 7)), ] assert helper.generate_dates(date(2016, 3, 26), date(2016, 3, 28)) == [ (datetime(2016, 3, 26), datetime(2016, 3, 26)), (datetime(2016, 3, 27), datetime(2016, 3, 27)), (datetime(2016, 3, 28), datetime(2016, 3, 28)), ]