mirror of
https://github.com/ae-utbm/sith.git
synced 2024-12-23 00:01:16 +00:00
Merge branch 'skia/fix_eboutic' into 'master'
Multiple fixes * Bump `black` and fix issues * `club`: fix tests broken by inclusive translation * `gitlab-ci`: use `poetry`, as `pip` was broken anyway * `eboutic`: et_autoanswer: don't require 'Auto' to proceed checking the request: As described in the [doc](https://www.paybox.com/espace-integrateur-documentation/la-solution-paybox-system/gestion-de-la-reponse/), `Auto` may be missing if the payment failed. Thus, it's not required to proceed checking the bank's answer. See merge request ae/Sith!296
This commit is contained in:
commit
234556a172
@ -7,13 +7,14 @@ test:
|
||||
- env
|
||||
- apt-get update
|
||||
- apt-get install -y gettext libxapian-dev libgraphviz-dev
|
||||
- pip install .[testing]
|
||||
- pip install poetry
|
||||
- poetry install -E testing
|
||||
- mkdir -p /dev/shm/search_indexes
|
||||
- ln -s /dev/shm/search_indexes sith/search_indexes
|
||||
- ./manage.py compilemessages
|
||||
- coverage run ./manage.py test
|
||||
- coverage html
|
||||
- coverage report
|
||||
- poetry run ./manage.py compilemessages
|
||||
- poetry run coverage run ./manage.py test
|
||||
- poetry run coverage html
|
||||
- poetry run coverage report
|
||||
variables:
|
||||
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip_tests"
|
||||
cache:
|
||||
|
@ -161,10 +161,10 @@ class ClubTest(TestCase):
|
||||
response = self.client.get(
|
||||
reverse("club:club_members", kwargs={"club_id": self.bdf.id})
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
self.assertTrue(
|
||||
"""Richard Batsbak</a></td>\\n <td>Vice-Pr\\xc3\\xa9sident</td>"""
|
||||
in str(response.content)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertIn(
|
||||
"""Richard Batsbak</a></td>\n <td>Vice-Président⸱e</td>""",
|
||||
response.content.decode(),
|
||||
)
|
||||
|
||||
def test_create_add_user_to_club_from_richard_fail(self):
|
||||
@ -369,14 +369,15 @@ class ClubTest(TestCase):
|
||||
response = self.client.get(
|
||||
reverse("club:club_members", kwargs={"club_id": self.bdf.id})
|
||||
)
|
||||
self.assertTrue(response.status_code == 200)
|
||||
content = str(response.content)
|
||||
self.assertTrue(
|
||||
"Richard Batsbak</a></td>\\n <td>Curieux</td>" in content
|
||||
self.assertEqual(response.status_code, 200)
|
||||
content = response.content.decode()
|
||||
self.assertIn(
|
||||
"Richard Batsbak</a></td>\n <td>Curieux⸱euse</td>",
|
||||
content,
|
||||
)
|
||||
self.assertTrue(
|
||||
"S' Kia</a></td>\\n <td>Responsable info</td>"
|
||||
in content
|
||||
self.assertIn(
|
||||
"S' Kia</a></td>\n <td>Responsable info</td>",
|
||||
content,
|
||||
)
|
||||
|
||||
|
||||
|
@ -118,11 +118,14 @@ class SelectFile(TextInput):
|
||||
attrs["class"] = "select_file"
|
||||
else:
|
||||
attrs = {"class": "select_file"}
|
||||
output = '%(content)s<div name="%(name)s" class="choose_file_widget" title="%(title)s"></div>' % {
|
||||
output = (
|
||||
'%(content)s<div name="%(name)s" class="choose_file_widget" title="%(title)s"></div>'
|
||||
% {
|
||||
"content": super(SelectFile, self).render(name, value, attrs, renderer),
|
||||
"title": _("Choose file"),
|
||||
"name": name,
|
||||
}
|
||||
)
|
||||
output += (
|
||||
'<span name="'
|
||||
+ name
|
||||
@ -139,11 +142,14 @@ class SelectUser(TextInput):
|
||||
attrs["class"] = "select_user"
|
||||
else:
|
||||
attrs = {"class": "select_user"}
|
||||
output = '%(content)s<div name="%(name)s" class="choose_user_widget" title="%(title)s"></div>' % {
|
||||
output = (
|
||||
'%(content)s<div name="%(name)s" class="choose_user_widget" title="%(title)s"></div>'
|
||||
% {
|
||||
"content": super(SelectUser, self).render(name, value, attrs, renderer),
|
||||
"title": _("Choose user"),
|
||||
"name": name,
|
||||
}
|
||||
)
|
||||
output += (
|
||||
'<span name="'
|
||||
+ name
|
||||
|
@ -252,8 +252,6 @@ class EtransactionAutoAnswer(View):
|
||||
if (
|
||||
not "Amount" in request.GET.keys()
|
||||
or not "BasketID" in request.GET.keys()
|
||||
or not "Auto"
|
||||
in request.GET.keys() # If not in the request it means the payment has been refused
|
||||
or not "Error" in request.GET.keys()
|
||||
or not "Sig" in request.GET.keys()
|
||||
):
|
||||
@ -271,7 +269,10 @@ class EtransactionAutoAnswer(View):
|
||||
)
|
||||
except:
|
||||
return HttpResponse("Bad signature", status=400)
|
||||
if request.GET["Error"] == "00000":
|
||||
# Payment authorized:
|
||||
# * 'Error' is '00000'
|
||||
# * 'Auto' is in the request
|
||||
if request.GET["Error"] == "00000" and "Auto" in request.GET.keys():
|
||||
try:
|
||||
with transaction.atomic():
|
||||
b = (
|
||||
|
@ -58,7 +58,7 @@ docs = ["Sphinx", "sphinx-rtd-theme", "sphinx-copybutton"]
|
||||
[tool.poetry.dev-dependencies]
|
||||
django-debug-toolbar = "^3.2.2"
|
||||
ipython = "^7.28.0"
|
||||
black = "^21.9b0"
|
||||
black = "^22.1.0"
|
||||
|
||||
[build-system]
|
||||
requires = ["poetry-core>=1.0.0"]
|
||||
|
Loading…
Reference in New Issue
Block a user