improve csv test

This commit is contained in:
Laetitia Getti 2023-07-31 15:33:20 +02:00
parent 8e63bbcd7b
commit 5c6516c9b1
2 changed files with 26 additions and 18 deletions

View file

@ -1,5 +1,7 @@
# fmt: off
import csv
import datetime
from io import StringIO
import pytest
from django.contrib import auth
@ -659,7 +661,7 @@ class TestGroupedOrderOverview:
assert item.get_total_price() == 8
assert "8" in response.content.decode()
def test_user_not_logged_redirect(self, client, other_user):
def test_user_not_logged_gets_redirected(self, client, other_user):
"""
A user that is not logged cannot see the GroupedOrderOverview. They get redirected to the login view
"""
@ -688,7 +690,7 @@ class TestGroupedOrderOverview:
)
)
def test_user_not_orga_redirect(self, client_log, other_user):
def test_user_not_orga_gets_redirected(self, client_log, other_user):
"""
A user that is not orga cannot see the GroupedOrderOverview.
They get a 403 forbidden error
@ -1286,7 +1288,7 @@ class TestGroupedOrderSheetView:
class TestExportGroupedOrderEmailAddressesToCSVView:
def test_user_not_logged_redirect(self, client, other_user):
def test_user_not_logged_gets_redirected(self, client, other_user):
"""
A user that is not logged accesses the email list. They get redirected to the login view
"""
@ -1355,7 +1357,7 @@ class TestExportGroupedOrderEmailAddressesToCSVView:
class TestExportGroupedOrderToCSVView:
def test_user_not_logged_redirect(self, client, other_user):
def test_user_not_logged_gets_redirected(self, client, other_user):
"""
A user that is not logged accesses the csv view. They get redirected to the login view
"""
@ -1417,16 +1419,22 @@ class TestExportGroupedOrderToCSVView:
)
response = client_log.get(csv_view_url)
assert response.status_code == 200
assert order.author.first_name in response.content.decode()
assert str(order.ordered_items.first().nb) in response.content.decode()
assert order.ordered_items.first().item.name in response.content.decode()
assert (
str(order.ordered_items.first().item.price).replace(".", ",")
in response.content.decode()
)
assert (
str(order.ordered_items.first().item.ordered_nb)
in response.content.decode()
)
assert order.author.email in response.content.decode()
assert order.author.phone in response.content.decode()
content = response.content.decode("utf-8")
csv_reader = csv.reader(StringIO(content))
body = list(csv_reader)
assert body == [
[
"",
"test item",
"test item 2",
"Prix de la commande",
"Mail",
"Téléphone",
],
["Prix unitaire TTC (€)", "2,00", "9,00"],
["bob alescargot", "1", "0", "2,00", "bob2@escargot.fr", "'000"],
["bobby alescargot", "0", "1", "9,00", "bob3@escargot.fr", "'000"],
["bob lescargot", "3", "2", "24,00", "bob@escargot.fr", "'000"],
["TOTAL", "4", "3", "35,00"],
]

View file

@ -328,7 +328,7 @@ class ExportGroupedOrderToCSVView(GroupedOrderExportView):
row.append("Téléphone")
writer.writerow(row)
row = ["Prix unitaire (€)"]
row = ["Prix unitaire TTC (€)"]
for item in context["items"]:
row.append(str(item.price).replace(".", ","))
writer.writerow(row)