예제 #1
0
    def test_total_vendido(self):
        """
        Prueba que el total vendido corresponda a la suma de todos
        los productos vendidos incluyendo los descuentos
        """
        carro1 = OrdenCompra()
        carro1.save()
        carro1.productos.add(Producto.objects.create(precio=10.1))

        carro2 = OrdenCompra()
        carro2.save()
        carro2.productos.add(Producto.objects.create(precio=17.0))
        carro2.productos.add(Producto.objects.create(precio=13.0))
        carro2.productos.add(Producto.objects.create(precio=5.0))

        carro3 = OrdenCompra()
        carro3.save()
        carro3.productos.add(Producto.objects.create(precio=17.0))
        carro3.productos.add(Producto.objects.create(precio=13.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))

        self.assertEqual(OrdenCompra.objects.total_vendido(), 103.55)
예제 #2
0
    def test_descuento_para_un_producto_es_cero(self):
        """
        Cuando el carro de compras tiene solo un producto
        el descuento aplicado es cero
        """
        carro = OrdenCompra()
        carro.save()

        carro.productos.add(Producto.objects.create(precio=10.0))

        self.assertEqual(carro.total(), 10.0)
예제 #3
0
    def test_descuento_para_un_producto_es_cero(self):
        """
        Cuando el carro de compras tiene solo un producto
        el descuento aplicado es cero
        """
        carro = OrdenCompra()
        carro.save()

        carro.productos.add(Producto.objects.create(precio=10.0))

        self.assertEqual(carro.total(), 10.0)
예제 #4
0
    def test_descuento_para_dos_productos_es_1_por_ciento(self):
        """
        Cuando el carro de compras tiene dos productos
        es descuento es del uno por ciento
        """
        carro = OrdenCompra()
        carro.save()

        carro.productos.add(Producto.objects.create(precio=17.0))
        carro.productos.add(Producto.objects.create(precio=13.0))

        self.assertEqual(carro.total(), 29.7)
예제 #5
0
    def test_descuento_para_dos_productos_es_1_por_ciento(self):
        """
        Cuando el carro de compras tiene dos productos
        es descuento es del uno por ciento
        """
        carro = OrdenCompra()
        carro.save()

        carro.productos.add(Producto.objects.create(precio=17.0))
        carro.productos.add(Producto.objects.create(precio=13.0))

        self.assertEqual(carro.total(), 29.7)
예제 #6
0
    def test_descuento_para_mas_de_cuatro_productos_es_2_por_ciento(self):
        """
        Cuando el carro de compras tiene cuatro o mas productos
        es descuento es del dos por ciento
        """
        carro = OrdenCompra()
        carro.save()

        carro.productos.add(Producto.objects.create(precio=17.0))
        carro.productos.add(Producto.objects.create(precio=13.0))
        carro.productos.add(Producto.objects.create(precio=5.0))
        carro.productos.add(Producto.objects.create(precio=5.0))
        carro.productos.add(Producto.objects.create(precio=5.0))
        carro.productos.add(Producto.objects.create(precio=5.0))
        carro.productos.add(Producto.objects.create(precio=5.0))
        carro.productos.add(Producto.objects.create(precio=5.0))

        self.assertEqual(carro.total(), 58.8)
예제 #7
0
    def test_descuento_para_mas_de_cuatro_productos_es_2_por_ciento(self):
        """
        Cuando el carro de compras tiene cuatro o mas productos
        es descuento es del dos por ciento
        """
        carro = OrdenCompra()
        carro.save()

        carro.productos.add(Producto.objects.create(precio=17.0))
        carro.productos.add(Producto.objects.create(precio=13.0))
        carro.productos.add(Producto.objects.create(precio=5.0))
        carro.productos.add(Producto.objects.create(precio=5.0))
        carro.productos.add(Producto.objects.create(precio=5.0))
        carro.productos.add(Producto.objects.create(precio=5.0))
        carro.productos.add(Producto.objects.create(precio=5.0))
        carro.productos.add(Producto.objects.create(precio=5.0))

        self.assertEqual(carro.total(), 58.8)
예제 #8
0
    def test_cantidad_productos_vendidos(self):
        """
        Prueba que la cantidad de productos vendidos corresponda
        a la suma de los productos de todas las ordenes de compra
        """
        carro1 = OrdenCompra()
        carro1.save()

        carro1.productos.add(Producto.objects.create(precio=0.0))
        carro1.productos.add(Producto.objects.create(precio=0.0))

        carro2 = OrdenCompra()
        carro2.save()

        carro2.productos.add(Producto.objects.create(precio=0.0))
        carro2.productos.add(Producto.objects.create(precio=0.0))
        carro2.productos.add(Producto.objects.create(precio=0.0))
        carro2.productos.add(Producto.objects.create(precio=0.0))

        self.assertEqual(Producto.objects.cantidad_productos_vendidos(), 6)
예제 #9
0
    def test_cantidad_productos_vendidos(self):
        """
        Prueba que la cantidad de productos vendidos corresponda
        a la suma de los productos de todas las ordenes de compra
        """
        carro1 = OrdenCompra()
        carro1.save()

        carro1.productos.add(Producto.objects.create(precio=0.0))
        carro1.productos.add(Producto.objects.create(precio=0.0))

        carro2 = OrdenCompra()
        carro2.save()

        carro2.productos.add(Producto.objects.create(precio=0.0))
        carro2.productos.add(Producto.objects.create(precio=0.0))
        carro2.productos.add(Producto.objects.create(precio=0.0))
        carro2.productos.add(Producto.objects.create(precio=0.0))

        self.assertEqual(Producto.objects.cantidad_productos_vendidos(), 6)
예제 #10
0
    def test_total_vendido(self):
        """
        Prueba que el total vendido corresponda a la suma de todos
        los productos vendidos incluyendo los descuentos
        """
        carro1 = OrdenCompra()
        carro1.save()
        carro1.productos.add(Producto.objects.create(precio=10.1))

        carro2 = OrdenCompra()
        carro2.save()
        carro2.productos.add(Producto.objects.create(precio=17.0))
        carro2.productos.add(Producto.objects.create(precio=13.0))
        carro2.productos.add(Producto.objects.create(precio=5.0))

        carro3 = OrdenCompra()
        carro3.save()
        carro3.productos.add(Producto.objects.create(precio=17.0))
        carro3.productos.add(Producto.objects.create(precio=13.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))
        carro3.productos.add(Producto.objects.create(precio=5.0))

        self.assertEqual(OrdenCompra.objects.total_vendido(), 103.55)