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)