74 lines
1.9 KiB
Python
74 lines
1.9 KiB
Python
from django.test import TestCase
|
|
from .models import Sale, SaleLine
|
|
|
|
|
|
class ConfiaoTest(TestCase):
|
|
|
|
def test_create_sale(self):
|
|
sale = Sale()
|
|
sale.customer = "Alejandro"
|
|
sale.date = "2024-06-22"
|
|
sale.phone = '666666666'
|
|
sale.description = "Description"
|
|
sale.save()
|
|
|
|
self.assertIsInstance(sale, Sale)
|
|
|
|
def test_create_sale_line(self):
|
|
sale = Sale()
|
|
sale.customer = "Alejandro"
|
|
sale.date = "2024-06-22"
|
|
sale.phone = '666666666'
|
|
sale.description = "Description"
|
|
|
|
line = SaleLine()
|
|
line.sale = sale
|
|
line.product = 'papaya'
|
|
line.quantity = 2
|
|
line.unit_price = 2500
|
|
line.amount = 5000
|
|
sale.save()
|
|
line.save()
|
|
self.assertEqual(SaleLine.objects.all()[0].quantity, 2)
|
|
|
|
def test_create_sale_with_lines(self):
|
|
sale = Sale()
|
|
sale.customer = "Alejandro"
|
|
sale.date = "2024-06-22"
|
|
sale.phone = '666666666'
|
|
sale.description = "Description"
|
|
|
|
line1 = SaleLine()
|
|
line1.sale = sale
|
|
line1.product = 'papaya'
|
|
line1.quantity = 2
|
|
line1.unit_price = 2500
|
|
line1.amount = 5000
|
|
|
|
line2 = SaleLine()
|
|
line2.sale = sale
|
|
line2.product = 'papaya'
|
|
line2.quantity = 2
|
|
line2.unit_price = 2500
|
|
line2.amount = 5000
|
|
|
|
sale.save()
|
|
line1.save()
|
|
line2.save()
|
|
|
|
self.assertEqual(len(SaleLine.objects.all()), 2)
|
|
self.assertEqual(
|
|
Sale.objects.all()[0].saleline_set.all()[0].quantity,
|
|
2
|
|
)
|
|
|
|
def test_allow_sale_without_description(self):
|
|
sale = Sale()
|
|
sale.customer = "Alejandro"
|
|
sale.date = "2024-06-22"
|
|
sale.phone = '666666666'
|
|
sale.description = None
|
|
sale.save()
|
|
|
|
self.assertEqual(len(Sale.objects.all()), 1)
|