예제 #1
0
    def test_Favorite_form_validity(self):
        favoriteForm = FavoriteForm(data={
            'productName': 'nutella',
            'substituteName': 'pate a tartiné'
        })

        self.assertTrue(favoriteForm.is_valid())
예제 #2
0
    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())
예제 #3
0
    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))
예제 #4
0
파일: views.py 프로젝트: tetrew88/purBeurre
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
        })
예제 #5
0
 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))
예제 #6
0
 def test_clean_product(self):
     product = Product.objects.get(name='nutella')
     self.cleaned_data['product'] = product.id
     self.assertEqual(product, FavoriteForm.clean_product(self))