forked from DGNum/gestioCOF
Merge branch 'kerl/fix_revente_crash' into 'master'
Fix crash on /bda/revente/<id>/manage Closes #228 See merge request klub-dev-ens/gestioCOF!370
This commit is contained in:
commit
fba6b592f5
3 changed files with 44 additions and 3 deletions
|
@ -1,3 +1,4 @@
|
|||
- Fix erreur 500 sur /bda/revente/<tirage_id>/manage
|
||||
- Si on essaie d'accéder au compte que qqn d'autre on a une 404 (et plus une 403)
|
||||
- On ne peut plus modifier des comptes COF depuis l'interface K-Fêt
|
||||
- Le champ de paiement BdA se fait au niveau des attributions
|
||||
|
|
|
@ -1,12 +1,17 @@
|
|||
import json
|
||||
from datetime import timedelta
|
||||
from unittest import mock
|
||||
|
||||
from django.test import TestCase
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.test import Client, TestCase
|
||||
from django.urls import reverse
|
||||
from django.utils import formats, timezone
|
||||
|
||||
from ..models import Participant
|
||||
from ..models import Participant, Tirage
|
||||
from .testcases import BdATestHelpers, BdAViewTestCaseMixin
|
||||
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
class InscriptionViewTestCase(BdATestHelpers, BdAViewTestCaseMixin, TestCase):
|
||||
url_name = "bda-tirage-inscription"
|
||||
|
@ -320,6 +325,41 @@ class CatalogueViewTestCase(BdATestHelpers, BdAViewTestCaseMixin, TestCase):
|
|||
)
|
||||
|
||||
|
||||
# ----- BdA Revente --------------------------------------- #
|
||||
|
||||
|
||||
def make_participant(name: str, tirage: Tirage) -> User:
|
||||
user = User.objects.create_user(username=name, password=name)
|
||||
user.profile.is_cof = True
|
||||
user.profile.save()
|
||||
Participant.objects.create(user=user, tirage=tirage)
|
||||
return user
|
||||
|
||||
|
||||
class TestReventeManageTest(TestCase):
|
||||
def setUp(self):
|
||||
self.tirage = Tirage.objects.create(
|
||||
title="tirage1",
|
||||
ouverture=timezone.now(),
|
||||
fermeture=timezone.now() + timedelta(days=90),
|
||||
)
|
||||
self.user = make_participant("toto", self.tirage)
|
||||
self.url = reverse("bda-revente-manage", args=[self.tirage.id])
|
||||
|
||||
# Signals handlers on login/logout send messages.
|
||||
# Due to the way the Django' test Client performs login, this raise an
|
||||
# error. As workaround, we mock the Django' messages module.
|
||||
patcher_messages = mock.patch("gestioncof.signals.messages")
|
||||
patcher_messages.start()
|
||||
self.addCleanup(patcher_messages.stop)
|
||||
|
||||
def test_can_get(self):
|
||||
client = Client()
|
||||
client.force_login(self.user)
|
||||
r = client.get(self.url)
|
||||
self.assertEqual(r.status_code, 200)
|
||||
|
||||
|
||||
class TestBdaRevente:
|
||||
pass
|
||||
# TODO
|
||||
|
|
|
@ -381,7 +381,7 @@ def revente_manage(request, tirage_id):
|
|||
- Annulation d'une revente après que le tirage a eu lieu
|
||||
"""
|
||||
tirage = get_object_or_404(Tirage, id=tirage_id)
|
||||
participant, created = Participant.annotate_paid().get_or_create(
|
||||
participant, created = Participant.objects.annotate_paid().get_or_create(
|
||||
user=request.user, tirage=tirage
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in a new issue