示例#1
0
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?
示例#2
0
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()
示例#3
0
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?
示例#6
0
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()
示例#7
0
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()
示例#8
0
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"