Projet

Général

Profil

0001-time-exceptions-never-show-past-exceptions-19033.patch

Lauréline Guérin, 31 octobre 2019 15:06

Télécharger (3,24 ko)

Voir les différences:

Subject: [PATCH 1/2] time exceptions: never show past exceptions (#19033)

 chrono/manager/views.py |  2 +-
 tests/test_manager.py   | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+), 1 deletion(-)
chrono/manager/views.py
748 748
    model = TimePeriodException
749 749

  
750 750
    def get_queryset(self):
751
        return self.model.objects.filter(desk=self.desk)
751
        return self.model.objects.filter(desk=self.desk, end_datetime__gte=now())
752 752

  
753 753
    def get_context_data(self, **kwargs):
754 754
        context = super(TimePeriodExceptionListView, self).get_context_data(**kwargs)
tests/test_manager.py
1011 1011
    resp = resp.form.submit()
1012 1012
    assert TimePeriodException.objects.count() == 0
1013 1013

  
1014

  
1015
def test_exception_list(app, admin_user):
1016
    agenda = Agenda.objects.create(label='Foo bar', kind='meetings')
1017
    desk = Desk.objects.create(agenda=agenda, label='Desk A')
1018
    MeetingType(agenda=agenda, label='Blah').save()
1019
    TimePeriod.objects.create(weekday=1, desk=desk,
1020
                              start_time=datetime.time(10, 0), end_time=datetime.time(12, 0))
1021
    past_exception = TimePeriodException.objects.create(
1022
        label='Past Exception',
1023
        desk=desk,
1024
        start_datetime=now() - datetime.timedelta(days=2),
1025
        end_datetime=now() - datetime.timedelta(days=1))
1026
    current_exception = TimePeriodException.objects.create(
1027
        label='Current Exception',
1028
        desk=desk,
1029
        start_datetime=now() - datetime.timedelta(days=1),
1030
        end_datetime=now() + datetime.timedelta(days=1))
1031
    future_exception = TimePeriodException.objects.create(
1032
        label='Future Exception',
1033
        desk=desk,
1034
        start_datetime=now() + datetime.timedelta(days=1),
1035
        end_datetime=now() + datetime.timedelta(days=2))
1036

  
1037
    login(app)
1038
    resp = app.get('/manage/agendas/%d/settings' % agenda.pk)
1039
    assert '/manage/time-period-exceptions/%d/edit' % past_exception.pk not in resp.text
1040
    assert '/manage/time-period-exceptions/%d/edit' % current_exception.pk in resp.text
1041
    assert '/manage/time-period-exceptions/%d/edit' % future_exception.pk in resp.text
1042

  
1043
    resp = resp.click(href="/manage/time-period-exceptions/%d/exception-list" % desk.pk)
1044
    assert '/manage/time-period-exceptions/%d/edit' % past_exception.pk not in resp.text
1045
    assert '/manage/time-period-exceptions/%d/edit' % current_exception.pk in resp.text
1046
    assert '/manage/time-period-exceptions/%d/edit' % future_exception.pk in resp.text
1047

  
1048

  
1014 1049
def test_agenda_import_time_period_exception_from_ics(app, admin_user):
1015 1050
    agenda = Agenda.objects.create(label='Example', kind='meetings')
1016 1051
    desk = Desk.objects.create(agenda=agenda, label='Test Desk')
1017
-