new: basic email template with csv attachments for the orded and each line

This commit is contained in:
cătălin 2021-01-25 02:57:36 +01:00
commit 0148d193ee
8 changed files with 126 additions and 143 deletions

View file

@ -9,10 +9,18 @@ from order.serializers import SaleOrderSerializer
class OrderTests(TestCase):
def setUp(self) -> None:
self.product_1: Product = Product.objects.create(name="Product 1", unit_price=10.0)
self.product_2: Product = Product.objects.create(name="Product 2", unit_price=20.0)
self.product_3: Product = Product.objects.create(name="Product 3", unit_price=30.0)
self.product_4: Product = Product.objects.create(name="Product 4", unit_price=40.0)
self.product_1: Product = Product.objects.create(
name="Product 1", unit_price=10.0
)
self.product_2: Product = Product.objects.create(
name="Product 2", unit_price=20.0
)
self.product_3: Product = Product.objects.create(
name="Product 3", unit_price=30.0
)
self.product_4: Product = Product.objects.create(
name="Product 4", unit_price=40.0
)
self.order_1: SaleOrder = SaleOrder.objects.create(name="Order 1")
self.order_2: SaleOrder = SaleOrder.objects.create(name="Order 2")
@ -21,7 +29,10 @@ class OrderTests(TestCase):
name="Line 1/Order1", order=self.order_1, product=self.product_1
)
self.line_1_2: SaleOrderLine = SaleOrderLine.objects.create(
name="Line 2/Order 1", quantity=3, order=self.order_1, product=self.product_2
name="Line 2/Order 1",
quantity=3,
order=self.order_1,
product=self.product_2,
)
self.line_2_1: SaleOrderLine = SaleOrderLine.objects.create(
@ -32,14 +43,10 @@ class OrderTests(TestCase):
name="Line 2/Order2", order=self.order_2, product=self.product_4
)
self.user_foo: User = User.objects.create(
username="foo"
)
self.user_foo: User = User.objects.create(username="foo")
self.user_foo.set_password("foo")
self.user_foo.save()
self.user_bar = User.objects.create(
username="bar", password="bar"
)
self.user_bar = User.objects.create(username="bar", password="bar")
self.client = Client()
self.client.login(username="foo", password="foo")
@ -73,35 +80,25 @@ class OrderTests(TestCase):
def test_view_readonly(self):
response = self.client.patch(
path="/api/orders/1/",
data={
"sold_at": "foo"
},
data={"sold_at": "foo"},
content_type="application/json",
)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
response = self.client.patch(
path="/api/orders/1/",
data={
"sold_to": self.user_foo.id
},
content_type="application/json"
data={"sold_to": self.user_foo.id},
content_type="application/json",
)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
def test_view_total(self):
response = self.client.get(
path="/api/orders/1/total/"
)
self.assertEqual(json.loads(response.content.decode())['amount_total'], 70.0)
response = self.client.get(
path="/api/orders/2/total/"
)
self.assertEqual(json.loads(response.content.decode())['amount_total'], 70.0)
response = self.client.get(path="/api/orders/1/total/")
self.assertEqual(json.loads(response.content.decode())["amount_total"], 70.0)
response = self.client.get(path="/api/orders/2/total/")
self.assertEqual(json.loads(response.content.decode())["amount_total"], 70.0)
def test_view_sell(self):
response = self.client.get(
path="/api/orders/2/sold/"
)
response = self.client.get(path="/api/orders/2/sold/")
self.order_2.refresh_from_db()
self.assertEqual(self.order_2.sold_to, self.user_foo)
self.assertEqual(self.order_2.sold_to, self.user_foo)