mirror of
https://github.com/ae-utbm/sith.git
synced 2025-03-26 23:27:13 +00:00
60 lines
2.2 KiB
Python
60 lines
2.2 KiB
Python
#
|
|
# Copyright 2023 © AE UTBM
|
|
# ae@utbm.fr / ae.info@utbm.fr
|
|
#
|
|
# This file is part of the website of the UTBM Student Association (AE UTBM),
|
|
# https://ae.utbm.fr.
|
|
#
|
|
# You can find the source code of the website at https://github.com/ae-utbm/sith
|
|
#
|
|
# LICENSED UNDER THE GNU GENERAL PUBLIC LICENSE VERSION 3 (GPLv3)
|
|
# SEE : https://raw.githubusercontent.com/ae-utbm/sith/master/LICENSE
|
|
# OR WITHIN THE LOCAL FILE "LICENSE"
|
|
#
|
|
#
|
|
|
|
|
|
from django.test import TestCase
|
|
from django.urls import reverse
|
|
|
|
from core.models import User
|
|
|
|
|
|
class TestRefoundAccount(TestCase):
|
|
@classmethod
|
|
def setUpTestData(cls):
|
|
cls.skia = User.objects.get(username="skia")
|
|
# refill skia's account
|
|
cls.skia.customer.amount = 800
|
|
cls.skia.customer.save()
|
|
cls.refound_account_url = reverse("accounting:refound_account")
|
|
|
|
def test_permission_denied(self):
|
|
self.client.force_login(User.objects.get(username="guy"))
|
|
response_post = self.client.post(
|
|
self.refound_account_url, {"user": self.skia.id}
|
|
)
|
|
response_get = self.client.get(self.refound_account_url)
|
|
assert response_get.status_code == 403
|
|
assert response_post.status_code == 403
|
|
|
|
def test_root_granteed(self):
|
|
self.client.force_login(User.objects.get(username="root"))
|
|
response = self.client.post(self.refound_account_url, {"user": self.skia.id})
|
|
self.assertRedirects(response, self.refound_account_url)
|
|
self.skia.refresh_from_db()
|
|
response = self.client.get(self.refound_account_url)
|
|
assert response.status_code == 200
|
|
assert '<form action="" method="post">' in str(response.content)
|
|
assert self.skia.customer.amount == 0
|
|
|
|
def test_comptable_granteed(self):
|
|
self.client.force_login(User.objects.get(username="comptable"))
|
|
response = self.client.post(self.refound_account_url, {"user": self.skia.id})
|
|
self.assertRedirects(response, self.refound_account_url)
|
|
self.skia.refresh_from_db()
|
|
response = self.client.get(self.refound_account_url)
|
|
assert response.status_code == 200
|
|
assert '<form action="" method="post">' in str(response.content)
|
|
assert self.skia.customer.amount == 0
|