def test_period_model_form(space_resource, commit): period = Period(resource=space_resource, start=date(2015, 8, 1), end=date(2015, 11, 1), name="plop") period.full_clean() period.save() for wd in range(7): period.days.create(weekday=wd, opens=time(9, wd * 2), closes=time(12 + wd)) pmf = PeriodModelForm(instance=period) data = get_form_data(pmf, prepared=True) # Make every day open at 06, set closed on wednesdays for key in list(data.keys()): if key.startswith(prefix_weekday(2, "")): data[key] = "" elif key.endswith("opens"): data[key] = "06:00" pmf = PeriodModelForm(instance=period, data=data) assert pmf.is_valid() period = pmf.save(commit=commit) if not commit: period.save() pmf.save_m2m() assert all(day.opens.hour == 6 for day in period.days.all()) assert not period.days.filter( weekday=2).exists() # Weekdays _got_ closed, yeah?
def test_period_can_be_resaved(space_resource): period = Period(resource=space_resource, start=date(2015, 8, 1), end=date(2015, 11, 1), name="test") period.save() period.name += "too" period.save()
def test_invalid_save_period(): period = Period(resource=None, start=date(2015, 8, 1), end=date(2015, 11, 1), name="test") with pytest.raises(ValidationError) as ei: period.save() assert ei.value.code == "no_belonging"
def create_item(self, item): period = Period() period.resource_id = self.__resource_id period.start = naive_date(item.begin) period.end = naive_date(item.end) period._from_o365_sync = True period.save() Day.objects.create(closed=False, weekday=item.begin.weekday(), opens=naive_time(item.begin), closes=naive_time(item.end), period=period) period.save() Resource.objects.get(pk=self.__resource_id).update_opening_hours() return period.id, period_change_key
def test_period_model_form(space_resource, commit): period = Period(resource=space_resource, start=date(2015, 8, 1), end=date(2015, 11, 1), name="plop") period.full_clean() period.save() for wd in range(7): period.days.create(weekday=wd, opens=time(9, wd * 2), closes=time(12 + wd)) pmf = PeriodModelForm(instance=period) data = get_form_data(pmf, prepared=True) # Make every day open at 06, set closed on wednesdays for key in list(data.keys()): if key.startswith(prefix_weekday(2, "")): data[key] = "" elif key.endswith("opens"): data[key] = "06:00" pmf = PeriodModelForm(instance=period, data=data) assert pmf.is_valid() period = pmf.save(commit=commit) if not commit: period.save() pmf.save_m2m() assert all(day.opens.hour == 6 for day in period.days.all()) assert not period.days.filter(weekday=2).exists() # Weekdays _got_ closed, yeah?
def test_exceptional_period_with_regular_period(space_resource): period = Period(resource=space_resource, start=date(2015, 8, 1), end=date(2015, 11, 1), name="test") period.clean() period.save() exception = Period( resource=space_resource, start=date(2015, 10, 24), end=date(2015, 10, 24), name="united_nations_day", exception=True ) exception.clean() exception.save() period.name += "too" period.clean() period.save()