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 # fmt: off
import csv
import datetime import datetime
from io import StringIO
import pytest import pytest
from django.contrib import auth from django.contrib import auth
@ -659,7 +661,7 @@ class TestGroupedOrderOverview:
assert item.get_total_price() == 8 assert item.get_total_price() == 8
assert "8" in response.content.decode() 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 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. A user that is not orga cannot see the GroupedOrderOverview.
They get a 403 forbidden error They get a 403 forbidden error
@ -1286,7 +1288,7 @@ class TestGroupedOrderSheetView:
class TestExportGroupedOrderEmailAddressesToCSVView: 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 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: 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 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) response = client_log.get(csv_view_url)
assert response.status_code == 200 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() content = response.content.decode("utf-8")
assert order.ordered_items.first().item.name in response.content.decode() csv_reader = csv.reader(StringIO(content))
assert ( body = list(csv_reader)
str(order.ordered_items.first().item.price).replace(".", ",") assert body == [
in response.content.decode() [
) "",
assert ( "test item",
str(order.ordered_items.first().item.ordered_nb) "test item 2",
in response.content.decode() "Prix de la commande",
) "Mail",
assert order.author.email in response.content.decode() "Téléphone",
assert order.author.phone in response.content.decode() ],
["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") row.append("Téléphone")
writer.writerow(row) writer.writerow(row)
row = ["Prix unitaire (€)"] row = ["Prix unitaire TTC (€)"]
for item in context["items"]: for item in context["items"]:
row.append(str(item.price).replace(".", ",")) row.append(str(item.price).replace(".", ","))
writer.writerow(row) writer.writerow(row)