Пример #1
0
    def test_get_specific_date(self):
        date_user = datetime(2012, 11, 1)
        dlist = DiningList.get_specific_date(date_user.day, date_user.month, date_user.year)

        self.assertEqual(dlist.relevant_date, date_user)

        # Test that we cannot get dates from the future

        date_user = datetime(2050, 11, 1)
        dlist = DiningList.get_specific_date(date_user.day, date_user.month, date_user.year)

        self.assertEqual(dlist.relevant_date, datetime.now().date())
Пример #2
0
    def test_get_specific_date(self):
        date_user = datetime(2012, 11, 1)
        dlist = DiningList.get_specific_date(date_user.day, date_user.month,
                                             date_user.year)

        self.assertEqual(dlist.relevant_date, date_user)

        # Test that we cannot get dates from the future

        date_user = datetime(2050, 11, 1)
        dlist = DiningList.get_specific_date(date_user.day, date_user.month,
                                             date_user.year)

        self.assertEqual(dlist.relevant_date, datetime.now().date())
Пример #3
0
    def test_claim(self):
        dlist = DiningList.get_latest()
        dlist.save()

        self.client.login(username="******", password="******")

        # We test claiming the dining list without participation

        r = self.client.get(self.view_url)

        dlist = DiningList.get_latest()

        self.assertIsNone(dlist.owner)

        # We test claiming the dining list with a participation

        dpart = DiningParticipation(user=self.testUser, dining_list=dlist)
        dpart.save()

        self.assertIsNone(dlist.owner)

        r = self.client.get(self.view_url)

        self.assertEqual(r.status_code, 302)

        dlist = DiningList.get_latest()

        self.assertIsNotNone(dlist.owner)
        self.assertEqual(dlist.owner, self.testUser)

        # Test that you cannot claim a dining list over someone else

        dpart = DiningParticipation(user=self.testUser2, dining_list=dlist)

        dpart.save()

        self.client.login(username=self.testUser2.username, password="******")

        r = self.client.get(self.view_url)

        self.assertEqual(r.status_code, 302)

        dlist = DiningList.get_latest()

        self.assertNotEqual(dlist.owner, self.testUser2)
        self.assertEqual(dlist.owner, self.testUser)

        dpart.delete()
        dlist.delete()
Пример #4
0
    def test_claim(self):
        dlist = DiningList.get_latest()
        dlist.save()

        self.client.login(username="******", password="******")

        # We test claiming the dining list without participation

        r = self.client.get(self.view_url)

        dlist = DiningList.get_latest()

        self.assertIsNone(dlist.owner)

        # We test claiming the dining list with a participation

        dpart = DiningParticipation(user=self.testUser, dining_list=dlist)
        dpart.save()

        self.assertIsNone(dlist.owner)

        r = self.client.get(self.view_url)

        self.assertEqual(r.status_code, 302)

        dlist = DiningList.get_latest()

        self.assertIsNotNone(dlist.owner)
        self.assertEqual(dlist.owner, self.testUser)

        # Test that you cannot claim a dining list over someone else

        dpart = DiningParticipation(user=self.testUser2, dining_list=dlist)

        dpart.save()

        self.client.login(username=self.testUser2.username, password="******")

        r = self.client.get(self.view_url)

        self.assertEqual(r.status_code, 302)

        dlist = DiningList.get_latest()

        self.assertNotEqual(dlist.owner, self.testUser2)
        self.assertEqual(dlist.owner, self.testUser)

        dpart.delete()
        dlist.delete()
Пример #5
0
    def get(self, request, id=None):
        dining_list = DiningList.get_latest()

        if id == None:
            if dining_list.owner is not None and datetime.now().time() > dining_list.closing_time:
                messages.error(request, "De eetlijst is al geclaimed. Vraag aan de kok/bestuur of je er nog af mag.")
                return redirect("dining:index")

            if dining_list.user_in_list(request.user):
                if dining_list.owner == request.user:
                    dining_list.owner = None
                    dining_list.save()
                dining_list.remove_user(request.user)
                messages.success(request, "Je bent uitgeschreven van deze eetlijst")
            else:
                messages.error(request, "Je staat nog niet op deze eetlijst")
        else:
            if request.user == dining_list.owner:
                part = DiningParticipation.objects.get(id=id)
                part.mail("Je bent verwijderd van de eetlijst",
                          "De kok gaat koken met een van de items op jouw \"Haal me van de eet-lijst\" items. Hierdoor ben je van de eetlijst afgehaald.")

                messages.success(request, u"{0} is van de eetlijst afgegooid.".format(part.user.get_full_name()))
                part.delete()
            else:
                messages.error(request, "Je hebt hier geen rechten voor!")

        return redirect("dining:index")
Пример #6
0
    def post(self, request):
        form = CommentForm(request.POST)

        if form.is_valid():
            obj = form.save(commit=False)
            obj.user = request.user
            obj.dining_list = DiningList.get_latest()

            obj.save()

            if obj.broadcast and (request.user.is_superuser
                                  or request.user == obj.dining_list.owner):
                print("Broadcasting")
                for part in obj.dining_list.get_participants():
                    part.mail(
                        "{0} heeft een bericht gestuurd over de eetlijst!".
                        format(request.user.get_full_name()), obj.body)

                messages.success(request,
                                 "Bericht was gebroadcast naar iedereen!")
            elif obj.broadcast:
                messages.error(request, "Je hebt geen rechten om dit te doen!")

            messages.success(request, "Comment posted")

            return redirect("dining:index")

        self.context['form'] = form

        return render(request, self.template_name, self.context)
Пример #7
0
    def get(self, request, day=None, month=None, year=None):
        if day is not None:
            self.context['dinnerlist'] = DiningList.get_specific_date(day, month, year)
        else:
            self.context['dinnerlist'] = DiningList.get_latest()

        self.context['comments'] = self.context['dinnerlist'].get_comments()
        self.context['my_participation'] = True if DiningParticipation.objects.filter(user=request.user,
                                                                                      dining_list=self.context[
                                                                                          'dinnerlist']).count() == 1 else False
        self.context['participants'] = self.context['dinnerlist'].get_participants().prefetch_related()
        self.context['thirds'] = self.context['dinnerlist'].get_thirds()

        self.context['total'] = self.context['thirds'].count() + self.context['participants'].count()

        return render(request, self.template, self.context)
Пример #8
0
    def get(self, request):
        dinnerlist = DiningList.get_latest()

        #check if today is a special day
        special_dates = SpecialDateModel.objects.filter(
            date_implied=datetime.now()).filter(date_is_registerable=False)
        if len(special_dates) > 0:
            messages.error(
                request,
                "Vandaag is er een speciale activiteit, hierdoor geldt de eetlijst vandaag niet"
            )
            return redirect("dining:index")
        # 14:00 vanwege tijdzones
        if datetime.now().time() > dinnerlist.closing_time:
            messages.error(
                request,
                "De eetlijst is officieel gesloten. Vraag aan de koks of je er nog op mag"
            )
        else:
            # See if the user is already registered
            obj, ret = DiningParticipation.objects.get_or_create(
                user=request.user, dining_list=dinnerlist)

            if ret:
                messages.success(
                    request,
                    "Je bent succesvol ingeschreven voor deze eetlijst")
            else:
                messages.info(request,
                              "Je was al ingeschreven voor deze lijst")

        return redirect("dining:index")
Пример #9
0
    def get(self, request):
        dining_list = DiningList.get_latest()

        if dining_list.owner is not None:
            messages.error(
                request, "Deze eetlijst is al geclaimd door {0}".format(
                    dining_list.owner.get_full_name()))
        elif request.user.details.is_softbanned:
            messages.error(
                request,
                "Je bent tijdelijk gebanned vanwege de volgende reden: {0}".
                format(request.user.details.ban_reason))
        else:
            # check participation
            if DiningParticipation.objects.filter(
                    user=request.user, dining_list=dining_list).count() > 0:
                messages.success(request,
                                 "Je bent nu eigenaar van deze eetlijst!")
                dining_list.owner = request.user
                dining_list.save()
            else:
                messages.warning(
                    request,
                    "Je bent nog niet ingeschreven voor deze eetlijst! Doe dit eerst"
                )

        return redirect("dining:index")
Пример #10
0
    def post(self, request):
        form = CommentForm(request.POST)

        if form.is_valid():
            obj = form.save(commit=False)
            obj.user = request.user
            obj.dining_list = DiningList.get_latest()

            obj.save()

            if obj.broadcast and (request.user.is_superuser or request.user == obj.dining_list.owner):
                print("Broadcasting")
                for part in obj.dining_list.get_participants():
                    part.mail("{0} heeft een bericht gestuurd over de eetlijst!".format(request.user.get_full_name()),
                              obj.body)

                messages.success(request, "Bericht was gebroadcast naar iedereen!")
            elif obj.broadcast:
                messages.error(request, "Je hebt geen rechten om dit te doen!")

            messages.success(request, "Comment posted")

            return redirect("dining:index")

        self.context['form'] = form

        return render(request, self.template_name, self.context)
Пример #11
0
 def get_context_data(self, **kwargs):
     context = super().get_context_data()
     context.update({
         'slot_form':
         CreateSlotForm(self.request.user,
                        instance=DiningList(date=self.date))
     })
     return context
Пример #12
0
class DiningListCleanTestCase(TestCase):
    @classmethod
    def setUpTestData(cls):
        cls.user = User.objects.create_user('ankie')
        cls.association = Association.objects.create()

    def setUp(self):
        self.dining_list = DiningList(date=date(2123, 1, 2),
                                      sign_up_deadline=datetime(
                                          2100, 2, 2, tzinfo=timezone.utc),
                                      association=self.association)

    def test_sign_up_deadline_valid(self):
        self.dining_list.full_clean()  # Shouldn't raise

    def test_sign_up_deadline_after_date(self):
        self.dining_list.sign_up_deadline = datetime(2123, 1, 3, 18, 00)
        self.assertRaises(ValidationError, self.dining_list.full_clean)
Пример #13
0
    def get(self, request):
        context = {}

        context['dining_stats'] = DiningStats.objects.get_or_create(user=request.user)[0]
        context['achievements'] = AchievementGet.objects.filter(user=request.user)

        if len([x for x in DiningList.get_latest().get_participants() if x.user == request.user]) > 0:
            context['on_dining_list'] = True

        return render(request, 'account/index.html', context)
Пример #14
0
    def get(self, request):
        dinnerlist = DiningList.get_latest()

        if datetime.now().time() > dinnerlist.closing_time and request.user != dinnerlist.owner:
            messages.error(request, "De eetlijst is officieel gesloten. Vraag aan de koks of je er nog op mag")
            return redirect("dining:index")

        self.context['form'] = DiningThirdNewForm()

        return render(request, self.template, self.context)
Пример #15
0
    def get(self, request):
        if not request.user.is_superuser:
            messages.error("Je hebt hier geen privileges voor!")
            return redirect("dining:index")
        send_mail("Eetlijst is afgezegd", "{} heeft deze afgezegd".format(request.user.get_full_name()),
                  "*****@*****.**", ("*****@*****.**",))
        [part.cancel() for part in DiningList.get_latest().get_participants()]

        messages.success(request, "Eetlijst is afgezegd")

        return redirect("dining:index")
Пример #16
0
    def get(self, request, day=None, month=None, year=None):
        if day is not None:
            self.context['dinnerlist'] = DiningList.get_specific_date(
                day, month, year)
        else:
            self.context['dinnerlist'] = DiningList.get_latest()

        self.context['comments'] = self.context['dinnerlist'].get_comments()
        self.context[
            'my_participation'] = True if DiningParticipation.objects.filter(
                user=request.user,
                dining_list=self.context['dinnerlist']).count() == 1 else False
        self.context['participants'] = self.context[
            'dinnerlist'].get_participants().prefetch_related()
        self.context['thirds'] = self.context['dinnerlist'].get_thirds()

        self.context['total'] = self.context['thirds'].count(
        ) + self.context['participants'].count()

        return render(request, self.template, self.context)
Пример #17
0
    def post(self, request, *args, **kwargs):
        context = self.get_context_data()

        context['slot_form'] = CreateSlotForm(
            request.user, request.POST, instance=DiningList(date=self.date))

        if context['slot_form'].is_valid():
            dining_list = context['slot_form'].save()
            messages.success(request,
                             "You successfully created a new dining list")
            return redirect(dining_list)

        return self.render_to_response(context)
Пример #18
0
class DiningListTestCase(TestCase):
    @classmethod
    def setUpTestData(cls):
        cls.user = User.objects.create_user('ankie')
        cls.association = Association.objects.create()

    def setUp(self):
        self.dining_list = DiningList(date=date(2123, 1, 2),
                                      sign_up_deadline=datetime(
                                          2100, 2, 2, tzinfo=timezone.utc),
                                      association=self.association)

    def test_is_open(self):
        list = DiningList.objects.create(date=date(2015, 1, 1),
                                         association=self.association,
                                         sign_up_deadline=datetime(
                                             2015,
                                             1,
                                             1,
                                             17,
                                             00,
                                             tzinfo=timezone.utc))

        with patch.object(timezone,
                          'now',
                          return_value=datetime(2015,
                                                1,
                                                1,
                                                16,
                                                59,
                                                tzinfo=timezone.utc)):
            self.assertTrue(list.is_open())
        with patch.object(timezone,
                          'now',
                          return_value=datetime(2015,
                                                1,
                                                1,
                                                17,
                                                00,
                                                tzinfo=timezone.utc)):
            self.assertFalse(list.is_open())
        with patch.object(timezone,
                          'now',
                          return_value=datetime(2015,
                                                1,
                                                1,
                                                17,
                                                1,
                                                tzinfo=timezone.utc)):
            self.assertFalse(list.is_open())

    def test_is_owner(self):
        self.dining_list.save()
        self.dining_list.owners.add(self.user)
        self.assertTrue(self.dining_list.is_owner(self.user))

    def test_is_owner_false(self):
        self.dining_list.save()
        self.assertFalse(self.dining_list.is_owner(self.user))
Пример #19
0
    def get(self, request):
        if not request.user.is_superuser:
            messages.error("Je hebt hier geen privileges voor!")
            return redirect("dining:index")
        send_mail(
            "Eetlijst is afgezegd",
            "{} heeft deze afgezegd".format(request.user.get_full_name()),
            "*****@*****.**", ("*****@*****.**", ))
        [part.cancel() for part in DiningList.get_latest().get_participants()]

        messages.success(request, "Eetlijst is afgezegd")

        return redirect("dining:index")
Пример #20
0
    def get(self, request):
        dinnerlist = DiningList.get_latest()

        if datetime.now().time(
        ) > dinnerlist.closing_time and request.user != dinnerlist.owner:
            messages.error(
                request,
                "De eetlijst is officieel gesloten. Vraag aan de koks of je er nog op mag"
            )
            return redirect("dining:index")

        self.context['form'] = DiningThirdNewForm()

        return render(request, self.template, self.context)
Пример #21
0
    def test_association_unique_for_date(self):
        """Tests that there can be only one dining slot for an association for each date."""
        # Save one dining list
        self.form.save()

        # Try creating another one with same association
        dl = DiningList(date=self.dining_date)
        data = {
            'dish': 'Kwark',
            'association': str(self.association1.pk),
            'max_diners': '18',
            'serve_time': '17:00'
        }
        form = CreateSlotForm(self.user1, data, instance=dl)
        self.assertFalse(form.is_valid())
        self.assertTrue(form.has_error('association'))
Пример #22
0
    def test_get_registered_user(self):
        dlist = DiningList().get_latest()

        dlist.save()

        dpart = DiningParticipation(user=self.testUser, dining_list=dlist)

        dpart.save()

        # Tests

        self.assertEqual(len(dlist.get_participants()), 1)

        dpart.delete()
        dlist.delete()
Пример #23
0
    def get(self, request):
        dining_list = DiningList.get_latest()

        if dining_list.owner is not None:
            messages.error(request, "Deze eetlijst is al geclaimd door {0}".format(dining_list.owner.get_full_name()))
        elif request.user.details.is_softbanned:
            messages.error(request, "Je bent tijdelijk gebanned vanwege de volgende reden: {0}".format(
                request.user.details.ban_reason))
        else:
            # check participation
            if DiningParticipation.objects.filter(user=request.user, dining_list=dining_list).count() > 0:
                messages.success(request, "Je bent nu eigenaar van deze eetlijst!")
                dining_list.owner = request.user
                dining_list.save()
            else:
                messages.warning(request, "Je bent nog niet ingeschreven voor deze eetlijst! Doe dit eerst")

        return redirect("dining:index")
Пример #24
0
 def setUp(self):
     self.association1 = Association.objects.create(name="Quadrivium")
     self.user1 = User.objects.create_user('jan')
     UserMembership.objects.create(related_user=self.user1,
                                   association=self.association1,
                                   is_verified=True,
                                   verified_on=timezone.now())
     # Date two days in the future
     self.dining_date = timezone.now().date() + timedelta(days=2)
     self.form_data = {
         'dish': 'Kwark',
         'association': str(self.association1.pk),
         'max_diners': '18',
         'serve_time': '17:00'
     }
     self.dining_list = DiningList(date=self.dining_date)
     self.form = CreateSlotForm(self.user1,
                                self.form_data,
                                instance=self.dining_list)
Пример #25
0
    def get(self, request):
        context = {}

        context['dining_stats'] = DiningStats.objects.get_or_create(
            user=request.user)[0]
        context['achievementgets'] = AchievementGet.objects.filter(
            user=request.user)
        context['gets'] = AchievementGet.objects.order_by(
            'user__first_name').filter(
                achievement__gets__user=request.user).distinct()

        context['events'] = Event.get_upcoming()

        if len([
                x for x in DiningList.get_latest().get_participants()
                if x.user == request.user
        ]) > 0:
            context['on_dining_list'] = True

        return render(request, 'account/index.html', context)
Пример #26
0
    def test_get_registered_user(self):
        dlist = DiningList().get_latest()

        dlist.save()

        dpart = DiningParticipation(user=self.testUser, dining_list=dlist)

        dpart.save()

        # Tests

        self.assertEqual(len(dlist.get_participants()), 1)

        dpart.delete()
        dlist.delete()
Пример #27
0
    def get(self, request):
        dinnerlist = DiningList.get_latest()

        #check if today is a special day
        special_dates = SpecialDateModel.objects.filter(date_implied=datetime.now()).filter(date_is_registerable=False)
        if len(special_dates) > 0:
            messages.error(request, "Vandaag is er een speciale activiteit, hierdoor geldt de eetlijst vandaag niet")
            return redirect("dining:index")
        # 14:00 vanwege tijdzones
        if datetime.now().time() > dinnerlist.closing_time:
            messages.error(request, "De eetlijst is officieel gesloten. Vraag aan de koks of je er nog op mag")
        else:
            # See if the user is already registered
            obj, ret = DiningParticipation.objects.get_or_create(user=request.user, dining_list=dinnerlist)

            if ret:
                messages.success(request, "Je bent succesvol ingeschreven voor deze eetlijst")
            else:
                messages.info(request, "Je was al ingeschreven voor deze lijst")

        return redirect("dining:index")
Пример #28
0
    def test_new_participation(self):
        dlist = DiningList.get_latest()
        dlist.owner = self.testUser

        dlist.save()

        dpart = DiningParticipation(user=self.testUser, dining_list=dlist)

        dpart.work_cook = True

        dpart.save()

        dstats = DiningStats.objects.get(user=self.testUser)

        self.assertEquals(dstats.total_helped, 1)
        self.assertEquals(dstats.total_participated, 1)

        # Now we update

        dpart.work_cook = False

        dpart.save()

        dstats = DiningStats.objects.get(user=self.testUser)

        self.assertEqual(dstats.total_helped, 0)
        self.assertEqual(dstats.total_participated, 1)

        # Now we test for cooking and dishes at the same time

        dpart.work_cook = True
        dpart.work_dishes = True

        dpart.save()

        dstats = DiningStats.objects.get(user=self.testUser)

        self.assertEqual(dstats.total_helped, 2)
        self.assertEqual(dstats.total_participated, 1)
Пример #29
0
    def test_new_participation(self):
        dlist = DiningList.get_latest()
        dlist.owner = self.testUser

        dlist.save()

        dpart = DiningParticipation(user=self.testUser, dining_list=dlist)

        dpart.work_cook = True

        dpart.save()

        dstats = DiningStats.objects.get(user=self.testUser)

        self.assertEquals(dstats.total_helped, 1)
        self.assertEquals(dstats.total_participated, 1)

        # Now we update

        dpart.work_cook = False

        dpart.save()

        dstats = DiningStats.objects.get(user=self.testUser)

        self.assertEqual(dstats.total_helped, 0)
        self.assertEqual(dstats.total_participated, 1)

        # Now we test for cooking and dishes at the same time

        dpart.work_cook = True
        dpart.work_dishes = True

        dpart.save()

        dstats = DiningStats.objects.get(user=self.testUser)

        self.assertEqual(dstats.total_helped, 2)
        self.assertEqual(dstats.total_participated, 1)
Пример #30
0
    def post(self, request, day=None, month=None, year=None):
        regex_filter = r'(\d+):(\w+)'

        # todo: secure this
        post = request.POST

        # first we'll clear all current statusses

        dinnerlist = DiningList.get_latest()

        participants = dinnerlist.get_participants().select_related()

        for part in participants:
            part.work_groceries = False
            part.work_cook = False
            part.work_dishes = False

        for key in post.keys():
            m = re.match(regex_filter, key)

            if m:
                part = [x for x in participants if x.id == int(m.group(1))][0]

                if m.group(2) == "groceries":
                    part.work_groceries = True
                if m.group(2) == "cooking":
                    part.work_cook = True
                if m.group(2) == "dishes":
                    part.work_dishes = True
                if m.group(2) == "paid":
                    part.paid = True

        for part in participants:
            part.save()

        messages.success(request, "Behandelingen zijn successvol doorgevoerd")

        return redirect("dining:index")
Пример #31
0
    def post(self, request, day=None, month=None, year=None):
        regex_filter = r'(\d+):(\w+)'

        # todo: secure this
        post = request.POST

        # first we'll clear all current statusses

        dinnerlist = DiningList.get_latest()

        participants = dinnerlist.get_participants().select_related()

        for part in participants:
            part.work_groceries = False
            part.work_cook = False
            part.work_dishes = False

        for key in post.keys():
            m = re.match(regex_filter, key)

            if m:
                part = [x for x in participants if x.id == int(m.group(1))][0]

                if m.group(2) == "groceries":
                    part.work_groceries = True
                if m.group(2) == "cooking":
                    part.work_cook = True
                if m.group(2) == "dishes":
                    part.work_dishes = True
                if m.group(2) == "paid":
                    part.paid = True

        for part in participants:
            part.save()

        messages.success(request, "Behandelingen zijn successvol doorgevoerd")

        return redirect("dining:index")
Пример #32
0
    def test_invalid_association(self):
        """Tests using an association which the user is not a member of.

        NOTE: when there is 1 available association, the form sets the association field to disabled. This means that
        the value that is sent with the form is totally ignored in favor of the initial value of the field. Therefore
        setting a different invalid association in the form data results in the form data actually being valid, but it
        does not use this association, instead it uses the other association which the user is actually a member of.

        Source: https://docs.djangoproject.com/en/2.2/ref/forms/fields/#disabled
        """
        association = Association.objects.create(name='Knights')
        form_data = {
            'dish': 'Boter',
            'association': str(association.pk),
            'max_diners': '20',
            'serve_time': '18:00'
        }
        form = CreateSlotForm(self.user1,
                              form_data,
                              instance=DiningList(date=self.dining_date))
        self.assertTrue(form.is_valid())
        # Check that the actual association is not Knights but Quadrivium
        self.assertEqual(self.association1, form.instance.association)
Пример #33
0
    def get(self, request, id=None):
        dining_list = DiningList.get_latest()

        if id == None:
            if dining_list.owner is not None and datetime.now().time(
            ) > dining_list.closing_time:
                messages.error(
                    request,
                    "De eetlijst is al geclaimed. Vraag aan de kok/bestuur of je er nog af mag."
                )
                return redirect("dining:index")

            if dining_list.user_in_list(request.user):
                if dining_list.owner == request.user:
                    dining_list.owner = None
                    dining_list.save()
                dining_list.remove_user(request.user)
                messages.success(request,
                                 "Je bent uitgeschreven van deze eetlijst")
            else:
                messages.error(request, "Je staat nog niet op deze eetlijst")
        else:
            if request.user == dining_list.owner:
                part = DiningParticipation.objects.get(id=id)
                part.mail(
                    "Je bent verwijderd van de eetlijst",
                    "De kok gaat koken met een van de items op jouw \"Haal me van de eet-lijst\" items. Hierdoor ben je van de eetlijst afgehaald."
                )

                messages.success(
                    request, u"{0} is van de eetlijst afgegooid.".format(
                        part.user.get_full_name()))
                part.delete()
            else:
                messages.error(request, "Je hebt hier geen rechten voor!")

        return redirect("dining:index")
Пример #34
0
    def test_get_latest(self):
        dlist = DiningList.get_latest()

        self.assertEqual(dlist.relevant_date, datetime.now().date())
Пример #35
0
 def setUp(self):
     self.dining_list = DiningList(date=date(2123, 1, 2),
                                   sign_up_deadline=datetime(
                                       2100, 2, 2, tzinfo=timezone.utc),
                                   association=self.association)
Пример #36
0
    def test_get_latest(self):
        dlist = DiningList.get_latest()

        self.assertEqual(dlist.relevant_date, datetime.now().date())