def test_Favorite_form_validity(self): favoriteForm = FavoriteForm(data={ 'productName': 'nutella', 'substituteName': 'pate a tartiné' }) self.assertTrue(favoriteForm.is_valid())
def test_favorite_form_work_with_existant_products(self): product = Product.objects.get(name='nutella') substitute = Product.objects.get(name='muesli sans sucre ajouté* bio') form = FavoriteForm(data={ 'product': product.id, 'substitute': substitute.id }) self.assertTrue(form.is_valid())
def test_favorite_form_save_favorite_object(self): self.client.force_login(self.test_user1) product = Product.objects.get(name='nutella') substitute = Product.objects.get(name='muesli sans sucre ajouté* bio') data = {'product': product.id, 'substitute': substitute.id} form = FavoriteForm(data=data) form.is_valid() favorite = form.save(self.test_user1) self.assertEqual(favorite, Favorite.objects.get(id=favorite.id))
def search(request): """ views for search substitute of an product: 1)collect keyword from search form 2)search the product associated to keyword in database îf he's wasn't found serched him to openfoodfact an add him to database 3)search substitute """ result = False product = False productCategoriesList = substituteList = [] template = 'pages/resultSearch.html' if request.method == 'POST': searchForm = SearchForm(request.POST) if searchForm.is_valid(): """collect keyword from search form""" keyword = request.POST.get('keyword') """cherche le produit dans la base de donnée""" product = search_product_in_database(keyword) """si le produit n'as pas ete trouver le cherche sur off""" if product is False: result = search_product_on_off(keyword) if result: categoriesList = result['categories'].split(',') for category in categoriesList: if category[0] == " ": productCategoriesList.append(category[1:]) else: productCategoriesList.append(category) if add_product_in_database(result, productCategoriesList): product = search_product_in_database(keyword) else: pass """si un produit est valide""" if product: print("produit trouver") product = product[0] """cherche les substituts du produits""" substituteList = search_substitute(product) return render( request, template, { 'detailForm': DetailForm(), 'searchForm': SearchForm(), 'identifiantForm': IdentificationForm(), 'favoriteForm': FavoriteForm(), 'product': product, 'substituteList': substituteList })
def test_clean_substitute(self): substitute = Product.objects.get(name='muesli sans sucre ajouté* bio') self.cleaned_data['substitute'] = substitute.id self.assertEqual(substitute, FavoriteForm.clean_substitute(self))
def test_clean_product(self): product = Product.objects.get(name='nutella') self.cleaned_data['product'] = product.id self.assertEqual(product, FavoriteForm.clean_product(self))