class TestDescripcionAlternativa(TestCase): def setUp(self): self.p1 = ProductoFactory(descripcion=u"Salsa de Tomate Arcor 500ml") def test_alternativa_guarda_instancia(self): assert DescripcionAlternativa.objects.count() == 0 descripcion = "La misma salsa descripta distinto ;-)" self.p1.agregar_descripcion(descripcion) self.assertEqual(DescripcionAlternativa.objects.count(), 1) alternativa = DescripcionAlternativa.objects.all()[0] self.assertEqual(alternativa.producto, self.p1) self.assertEqual(alternativa.descripcion, descripcion) self.assertEqual(alternativa.busqueda, normalizar(descripcion)) def test_excepcion_si_existe(self): descripcion = "La misma salsa descripta distinto ;-)" self.p1.agregar_descripcion(descripcion) with self.assertRaises(IntegrityError): self.p1.agregar_descripcion(descripcion) def test_ignorar_excepcion(self): descripcion = "La misma salsa descripta distinto ;-)" self.p1.agregar_descripcion(descripcion) # sin excepcion self.p1.agregar_descripcion(descripcion, True) self.assertEqual(DescripcionAlternativa.objects.count(), 1)
def setUp(self): self.client = Client() self.url = reverse('buscador') self.productos = [ ProductoFactory(descripcion=u"Salsa de Tomate Arcor 500ml"), ProductoFactory(descripcion=u"Salsa de Tomate Cica 500ml"), ProductoFactory(descripcion=u"Puré de Tomate Arcor 350ml"), ProductoFactory(descripcion=u"Mayonesa Hellmanns 350gr") ]
def test_detalle_similares(self): simil1 = ProductoFactory(descripcion=self.prod.descripcion + " plus") simil2 = ProductoFactory(descripcion=self.prod.descripcion + " extra") with patch('preciosa.precios.models.Producto.similares') as mock: mock.return_value = [simil1, simil2] r = self.client.get(self.url) similares = r.data['similares'] self.assertEqual(similares[0]['id'], simil1.id) self.assertEqual(similares[0]['descripcion'], simil1.descripcion) self.assertEqual(similares[1]['id'], simil2.id) self.assertEqual(similares[1]['descripcion'], simil2.descripcion)
def setUp(self): self.producto = ProductoFactory() self.suc = SucursalFactory() self.suc2 = SucursalFactory(ciudad=self.suc.ciudad, cadena=self.suc.cadena) self.suc3 = SucursalFactory(ciudad=self.suc.ciudad, cadena=self.suc.cadena)
def setUp(self): self.suc = SucursalFactory() self.prod = ProductoFactory(upc='779595') self.url = reverse('producto_detalle', args=(self.suc.id, self.prod.id)) self.user = UserFactory() self.token = self.user.auth_token.key self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.token)
class TestSimilaresAProducto(TestCase): def setUp(self): self.p1 = ProductoFactory(descripcion=u"Salsa de Tomate Arcor 500ml") self.p2 = ProductoFactory(descripcion=u"Salsa de Tomate Cica 500ml") self.p3 = ProductoFactory(descripcion=u"Puré de Tomate Arcor 350ml") self.p4 = ProductoFactory(descripcion=u"Mayonesa Hellmanns 350gr") def test_similares(self): ids = self.p1.similares().values_list('id', flat=True) self.assertEqual(list(ids), [self.p2.id, self.p3.id]) ids = self.p1.similares(1).values_list('id', flat=True) self.assertEqual(list(ids), [self.p2.id]) def test_sin_resultado(self): qs = self.p4.similares() self.assertFalse(qs.exists())
def test_producto_con_contenido_no_usa_annalisa_salvo_force(self): p = ProductoFactory() assert p.contenido and p.contenido != Decimal('2.1') contenido_original = p.contenido self.config({'volumen': 2.1}) self.call() self.assertEqual(_(p).contenido, contenido_original) self.call(force_contenido=True) self.assertEqual(_(p).contenido, Decimal('2.1'))
def test_producto_con_unidad_no_usa_annalisa_salvo_force(self): p = ProductoFactory() assert p.unidad_medida != Producto.UM_GRAMO unidad_original = p.unidad_medida self.config({'unidad_peso': 'gramo'}) self.call() self.assertEqual(_(p).unidad_medida, unidad_original) self.call(force_unidad_medida=True) self.assertEqual(_(p).unidad_medida, Producto.UM_GRAMO)
def test_producto_con_marca_no_usa_annalisa_salvo_force(self): p = ProductoFactory() assert p.marca marca_org = p.marca marca2 = MarcaFactory() self.config({'marcaid': marca2.id}) self.call() self.assertEqual(_(p).marca, marca_org) self.call(force_marca=True) self.assertEqual(_(p).marca, marca2)
def test_producto_categoria_no_usa_annalisa_salvo_force(self): p = ProductoFactory() assert p.categoria cat_org = p.categoria cat2 = CategoriaFactory(depth=3) self.config({'categoriaid': cat2.id}) self.call() self.assertEqual(_(p).categoria, cat_org) self.call(force_categoria=True) self.assertEqual(_(p).categoria, cat2)
def setUp(self): self.producto = ProductoFactory() self.carrefour = CadenaFactory(nombre='Carrefour') self.sucursales_carrefour = suc1, suc2 = [ SucursalFactory(cadena=self.carrefour), SucursalFactory(cadena=self.carrefour) ] self.super_regional = SucursalFactory(nombre='Lo de Cacho') # lo de cacho queda en y una de carrefour queda en NOA self.noa = RegionFactory( nombre="NOA", ciudades_incluidas=[suc2.ciudad, self.super_regional.ciudad]) # una de carrefour en Caba self.caba = RegionFactory(nombre="CABA", ciudades_incluidas=[suc1.ciudad])
def setUp(self): self.p1 = ProductoFactory(descripcion=u"Salsa de Tomate Arcor 500ml")
def setUp(self): self.sucursal = SucursalFactory() self.producto = ProductoFactory()
def test_producto_sin_contenido_usa_annalisa(self): p = ProductoFactory(contenido=None) assert p.contenido is None self.config({'peso': 3.1}) self.call() self.assertEqual(_(p).contenido, Decimal('3.1'))
def test_producto_sin_marca_usa_annalisa(self): p = ProductoFactory(marca=None, unidad_medida=Producto.UM_L) marca = MarcaFactory() self.config({'marcaid': marca.id}) self.call() self.assertEqual(_(p).marca, marca)
def test_mayus(self): p1 = ProductoFactory(descripcion=u"UÑAS Y DIENTES") self.assertEqual(p1.busqueda, 'unas y dientes')
def test_acentos(self): p1 = ProductoFactory(descripcion=u"ÁéíóÚ") self.assertEqual(p1.busqueda, 'aeiou')
def setUp(self): self.p1 = ProductoFactory(descripcion=u"Salsa de Tomate Arcor 500ml") self.p2 = ProductoFactory(descripcion=u"Salsa de Tomate Cica 500ml") self.p3 = ProductoFactory(descripcion=u"Puré de Tomate Arcor 350ml") self.p4 = ProductoFactory(descripcion=u"Mayonesa Hellmanns 350gr")
def setUp(self): cat = CategoriaFactory() self.productos = [ProductoFactory(descripcion=d, categoria=cat) for d in PRODUCTOS] self.q = 'Milanesas de soja MONDO FRIZZATTA ceb/que cja 380 grm' self.qs = self.f(self.q)
def test_producto_sin_unidad_usa_annalisa(self): p = ProductoFactory(unidad_medida=None) assert p.unidad_medida is None self.config({'unidad_peso': 'gramo'}) self.call() self.assertEqual(_(p).unidad_medida, Producto.UM_GRAMO)