new: basic email template with csv attachments for the orded and each line
This commit is contained in:
parent
5848134067
commit
0148d193ee
8 changed files with 126 additions and 143 deletions
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue