def test_thumbnail_are_generated_on_save(self): product = Product( name='The Cathedral and the bazaar', price=Decimal('10.00'), ) product.save() with open('main/fixtures/the-cathedral-the-bazaar.jpg', 'rb') as f: image = ProductImage( product=product, image=ImageFile(f, name='tctb.jpg'), ) with self.assertLogs('main', level='INFO') as cm: image.save() self.assertGreaterEqual(len(cm.output), 1) image.refresh_from_db() with open( 'main/fixtures/the-cathedral-the-bazaar.thumb.jpg', 'rb', ) as f: expected_content = f.read() self.assertEqual(expected_content, image.thumbnail.read()) image.thumbnail.delete(save=False) image.image.delete(save=False)
def addProduct(user, id, unit_name, unit_value, price, quantity): print 'Entro BL addProduct' product = Product(); productActual = Product.objects.get(id=id) farm = Farm.objects.all()\ .only('name','latitude','longitude','size','provider__user')\ .filter(provider__user=user) product.image_url = productActual.image_url product.description = productActual.description product.name = productActual.name product.price = price product.unit_value = unit_value product.unit_name = unit_name product.farm = farm[0] product.quantity = quantity product.save() listProduct = get_products_farm(user); return listProduct
def test_product_price(self): product = Product() product.product_type = '00' product_group = ProductGroup() product_group.name = 'Bouncy' product_group.save() product.product_group = product_group product.code = 'BBALL' product.name = 'Bouncy Ball' product.save() product_sellingprice = ProductSellingprice() product_sellingprice.product = product product_sellingprice.commencing_date = datetime.strptime('2012-02-01:00:00:00', '%Y-%m-%d:%H:%M:%S') product_sellingprice.set_date = datetime.strptime('2012-01-01:00:00:00', '%Y-%m-%d:%H:%M:%S') product_sellingprice.price = Money(4.00, 'EUR') product_sellingprice.save() product_sellingprice = ProductSellingprice() product_sellingprice.product = product product_sellingprice.commencing_date = datetime.strptime('2012-03-01:00:00:00', '%Y-%m-%d:%H:%M:%S') product_sellingprice.set_date = datetime.strptime('2012-01-01:00:00:00', '%Y-%m-%d:%H:%M:%S') product_sellingprice.price = Money(6.00, 'EUR') product_sellingprice.save() self.assertEqual(product.get_price(date=datetime.strptime('2012-02-02:00:00:00', '%Y-%m-%d:%H:%M:%S')), Money(4.00, 'EUR')) self.assertEqual(product.get_price(date=datetime.strptime('2012-03-02:00:00:00', '%Y-%m-%d:%H:%M:%S')), Money(6.00, 'EUR'))
def process_item(self, item, spider): p = Product() p.title = item["title"] p.price = float(item['price'].replace(',', '.').strip()) p.image = item['image_url'] or '' p.save() return item
def add_product(request): if request.method == 'POST': name = request.POST['name'] category = request.POST['category'] description = request.POST['descrription'] price = request.POST['price'] quantity = request.POST['quantity'] img = request.FILES['photo1'] offer = request.POST['offer'] shop_id = request.user.id if offer == '': offer = 0 current_username = request.user.username per = Seller.objects.get(username=current_username) new_product = Product(name=name, category=category, description=description, price=price, quantity=quantity, rate=0, offer=offer, comment=[], img=img, shop_id=per.id) new_product.save() per.owned_products.append(new_product.id) per.save() return redirect('/dashboard')
def create_product(self, request): form = ProductForm(data=request.POST) if form.is_valid(): cd = form.cleaned_data user = users.get_current_user() prod_obj = Product( description=cd['description'], min_price=cd['min_price'], due_date=cd['due_date'], owner_email=user.email() ) prod_obj.save() # so we have a key new_photo = '' new_photo_data = request.FILES.get("photo", None) if new_photo_data: for chunk in new_photo_data.chunks(): new_photo += chunk if new_photo: img = images.Image(new_photo) img.resize(height=100) clean_photo = img.execute_transforms(output_encoding=images.PNG) prod_obj.photo = db.Blob(clean_photo) prod_obj.save() return HttpResponseRedirect('/') return self.show_template('main/product_info.html', form=form)
def create_product_from_email(email, is_negotiable): user = create_user_from_email(email) product = Product(seller=user.profile) product.name = "kurkure" product.expected_price = 20 product.is_negotiable = is_negotiable product.description = "dedha hai par mera hai" product.save() return product, user
def test_product_has_a_price(self): product = Product() category = Category.objects.first() product.category = category product.SKU = 123 product.img_src = "" product.save() self.assertTrue(hasattr(product, "price"))
def create_test_product(self, name='bbc'): product_name = name profile1 = self.create_test_user("*****@*****.**").profile expectedPrice = 100 description = "Some unknown english words" category = self.create_test_category(name='xyzCategory') product = Product(name=product_name, seller=profile1, expected_price=expectedPrice, description=description, category=category) product.save() return product
def create_test_product(self): name = "TechRe Book" seller = self.create_test_user( '*****@*****.**').profile product_price = 500 description = "Mint condition" category = self.create_test_category(name="Books") product = Product( name=name, seller=seller, expected_price=product_price, description=description, category=category, ) product.save() return product
def setUp(self): ###### create Users ####### users = ['UserA', 'UserB', 'UserC', 'UserD'] for i in range(4): newUser = AUser(password='', last_login=timezone.now(), is_superuser=True, username=users[i], first_name='Firstname', last_name='Lastname', email='*****@*****.**', is_staff=True, is_active=True, date_joined=timezone.now()) newUser.save() testDBModel.testUsers.append(newUser) testDBModel.testUsersID.append(newUser.pk) ###### add Category ###### category1 = Category(name="hats") testDBModel.testCategory.append(category1) category1.save() ###### add product ###### addProducts = ["ProductA", "ProductB", "ProductC", "ProductD"] for i in range(4): # # add products newOne = Product(category=category1, name=addProducts[i], brand='brand', url='url', photo='photo', price=1.0, description='') newOne.save() testDBModel.testProducts.append(newOne) ##### ## add comments ###### for i in range(4): newOne = Comment(product=testDBModel.testProducts[i], owner=testDBModel.testUsers[i], content="null", time=timezone.now()) newOne.save() testDBModel.testComments.append(newOne) # add to wishlist first for i in range(4): newOne = WishList(product=testDBModel.testProducts[i], owner=testDBModel.testUsers[i]) newOne.save() # add to FitList: for i in range(4): newOne = FitList(product=testDBModel.testProducts[i], owner=testDBModel.testUsers[i]) newOne.save()
def register_products(objs): products = json.loads(objs) print products for p in products: print p product = Product() product.name = p['name'] product.price = p['price'] product.image_url = p['image_url'] product.unit_value = p['unit_value'] product.unit_name = p['unit_name'] farm = Farm.objects.get(id=p['farm']) product.farm = farm product.description = p['description'] product.quantity = p['quantity'] product.save() print 'objeto guardado'
def setUp(self): ###### create Users ####### users = ['UserA', 'UserB', 'UserC', 'UserD'] for i in range(4): newUser = AUser(password='', last_login=timezone.now(), is_superuser=True, username=users[i], first_name='Firstname', last_name='Lastname', email='*****@*****.**', is_staff=True, is_active=True, date_joined=timezone.now()) newUser.save() testDBModel.testUsers.append(newUser) testDBModel.testUsersID.append(newUser.pk) ###### add Category ###### category1 = Category(name="hats") testDBModel.testCategory.append(category1) category1.save() category2 = Category(name="glasses") testDBModel.testCategory.append(category2) category2.save() user = User(id=testDBModel.testUsersID[0],user_id=testDBModel.testUsersID[0], user_image="profile1.jpg") user.save() ###### add product ###### addProducts = ["ProductA", "ProductB", "ProductC", "ProductD"] for i in range(4): # # add products newOne = Product(category=category1, name=addProducts[i], brand='brand', url='url', photo='photo', price=1.0, description='') newOne.save() testDBModel.testProducts.append(newOne) ###### add custom product ##### newAdded = Added(owner = testDBModel.testUsers[0], product = testDBModel.testProducts[0]) newAdded.save() newAdded = Added(owner = testDBModel.testUsers[1], product = testDBModel.testProducts[1]) newAdded.save() ###### add temp product ###### tempP = TempProduct(owner = testDBModel.testUsers[0], overlay = 'overlay1ol.jpg', token = '1', category = testDBModel.testCategory[0]) tempP.save() tempP = TempProduct(owner = testDBModel.testUsers[1], overlay = 'overlay2ol.jpg', token = '2', category = testDBModel.testCategory[0]) tempP.save() testDBModel.testOverlay = ['overlay1ol.jpg', 'overlay2ol.jpg'] ##### ## add comments ###### for i in range(4): newOne = Comment(product=testDBModel.testProducts[i], owner=testDBModel.testUsers[i], content="null", time = timezone.now()) newOne.save() testDBModel.testComments.append(newOne) # add to wishlist first for i in range(4): newOne = WishList(product=testDBModel.testProducts[i], owner=testDBModel.testUsers[i]) newOne.save() # add to FitList: for i in range(4): newOne = FitList(product = testDBModel.testProducts[i], owner = testDBModel.testUsers[i]) newOne.save()
def createProduct(request): try: if not Customer.objects.get(user=request.user).isAdmin: return HttpResponse('Must be admin to access.', status=status.HTTP_403_FORBIDDEN) if request.method == "GET": return HttpResponse(render(request, 'manageSite/createProduct.html', {'form': CreateProductForm}), status=200) elif request.method == "POST": productData = request.POST productImage = request.FILES allCollection = Collection.objects.all() listOfName = [] for collection in allCollection: listOfName.append(collection.collectionName) if (productData['productCollection'] not in listOfName): Collection.objects.create( collectionName=productData['productCollection']) currCollection = Collection.objects.get( collectionName=productData['productCollection']) else: currCollection = Collection.objects.get( collectionName=productData['productCollection']) newProduct = Product( productName=productData['productName'], productDescription=productData['productDescription'], productPrice=productData['productPrice'], productCollection=currCollection) newProduct.save() if productImage: addImageToProduct(productImage['productImage'], newProduct) return HttpResponse('Product created successfully', status=status.HTTP_200_OK) except DatabaseError: return HttpResponse(DatabaseErrorMessage, status=status.HTTP_400_BAD_REQUEST) except Exception as e: return HttpResponse(str(e), status=status.HTTP_400_BAD_REQUEST)
def createProducts(request): """ On GET- returns form to create new product On POST- creates a new product with form input. On PATCH- changes specified product details with data given by user. On DELETE- deletes product given by user. """ try : # if not Customer.objects.get(user=request.user).isAdmin: # return HttpResponse('Must be admin to access.', status=status.HTTP_403_FORBIDDEN) if request.method == "GET" : return HttpResponse(render(request, "products/create-a-product.html", {'form' : NewProductForm}), status = 200) elif request.method == "POST": productData = request.POST productImage = request.FILES allCollection = Collection.objects.all() listOfName = [] for collection in allCollection: listOfName.append(collection.collectionName) if (productData['productCollection'] not in listOfName): Collection.objects.create(collectionName = productData['productCollection']) currCollection = Collection.objects.get(collectionName=productData['productCollection']) else: currCollection = Collection.objects.get(collectionName=productData['productCollection']) newProduct = Product( productName = productData['productName'], productDescription = productData['productDescription'], productPrice = productData['productPrice'], productCollection = currCollection ) newProduct.save() if productImage: addImageToProduct(productImage['productImage'], newProduct) return HttpResponse('Product created successfully', status=status.HTTP_200_OK) except DatabaseError : return HttpResponse(DatabaseErrorMessage, status=status.HTTP_400_BAD_REQUEST) except Exception as e: return HttpResponse(str(e), status=status.HTTP_400_BAD_REQUEST)
def add_product(request): context = {} form = ProductForm(request.POST, request.FILES) context['form'] = form if form.is_valid(): datas = form.cleaned_data name, price, city = datas['name'], datas['price'], datas['city'] quantity, availability = datas['quantity'], datas['availability'] description, pictures = datas['description'], request.FILES.getlist( 'pictures') category = datas['category'] product = Product(name=name, price=price, city=city, quantity=quantity, \ description=description, availability=availability) product.slug = slugify(product.name) product.save() # On ajoute les catégories. import karim.functions as f categories = f.parse_select_multiple(category) for cat in categories: _cat = get_object_or_404(Category, name=cat) product.category.add(_cat) # On ajoute les images. for key, img in enumerate(pictures): if key == 0: product.image = "products/" + str(img) product.save() pic = Picture(product=product, picture=img) pic.save() f.handle_upload_file("products", str(img), img) return render(request, "add_product.html", context)
def setUp(self): ###### create Users ####### users = ['UserA', 'UserB', 'UserC', 'UserD'] for i in range(4): newUser = AUser(password='', last_login=timezone.now(), is_superuser=True, username=users[i], first_name='Firstname', last_name='Lastname', email='*****@*****.**', is_staff=True, is_active=True, date_joined=timezone.now()) newUser.save() testDBModel.testUsers.append(newUser) testDBModel.testUsersID.append(newUser.pk) ###### add Category ###### category1 = Category(name="hats") testDBModel.testCategory.append(category1) category1.save() ###### add product ###### addProducts = ["ProductA", "ProductB", "ProductC", "ProductD"] for i in range(4): # # add products newOne = Product(category=category1, name=addProducts[i], brand='brand', url='url', photo='photo', price=1.0, description='') newOne.save() testDBModel.testProducts.append(newOne) ##### ## add comments ###### for i in range(4): newOne = Comment(product=testDBModel.testProducts[i], owner=testDBModel.testUsers[i], content="null", time = timezone.now()) newOne.save() testDBModel.testComments.append(newOne) # add to wishlist first for i in range(4): newOne = WishList(product=testDBModel.testProducts[i], owner=testDBModel.testUsers[i]) newOne.save()
def setUp(self): self.factory = RequestFactory() self.user = User.objects.create_user(username='******', email='*****@*****.**', password='******') product = Product( name="Coca cola 1L", code="5449000054227", nutriscore="e", url="https://fr.openfoodfacts.org/produit/5449000054227/coca-cola", popularity=561, ) product.save() product = Product( name="Coca Zéro", code="5449000133328", nutriscore="b", url= "https://fr.openfoodfacts.org/produit/5449000133328/coca-zero-coca-cola", popularity=538, ) product.save()
def setUpDb(request): User.objects.all().delete() Category.objects.all().delete() Product.objects.all().delete() WishList.objects.all().delete() FitList.objects.all().delete() Comment.objects.all().delete() Added.objects.all().delete() TempProduct.objects.all().delete() glasses = Category(name='glasses') hats = Category(name='hats') headphones = Category(name='headphones') glasses.save() hats.save() headphones.save() rayban = Product(category=glasses, name='rayban glasses', brand='rayban', url='www.rayban.com', price=129.9, description='stylish rayban', overlay='raybanol.png', photo='rayban.jpg') nike = Product(category=glasses, name='nike glasses', brand='nike', url='www.nike.com', photo='nike.jpg', overlay='nikeol.png', price=99.9, description='sporty nike') adidas = Product(category=hats, name='adidas cap', brand='adidas', url='www.adidas.com', photo='addidas.jpg', overlay='addidasol.png', price=56.9, description='adidas cap!', yoffset=-0.58) levis = Product(category=hats, name='levis hat', brand='levis', url='www.levis.com', photo='levis.jpg', overlay='levisol.png', price=67.9, description='levis hat!', yoffset=-0.58) beats = Product(category=headphones, name='beats headphones', brand='beats', url='www.beats.com', photo='beats.jpg', overlay='beatsol.png', price=256.9, description='stylish headphones!', yoffset=-0.15) sony = Product(category=headphones, name='sony headphones', brand='sony', url='www.sony.com', photo='sony.jpg', overlay="sonyol.png", price=399.9, description='high quality headphones!', yoffset=-0.15) rayban.save() nike.save() adidas.save() levis.save() beats.save() sony.save() comment = Comment(product=rayban, owner=AUser.objects.get(pk=1), time=timezone.now(), content="Very nice glasses!") comment.save() wish = WishList(owner=AUser.objects.get(pk=1), product=rayban) wish.save() fit = FitList(owner=AUser.objects.get(pk=1), product=adidas) fit.save() return HttpResponse("Success!")
def save_product(product_dict): product = Product(**product_dict) product.save()
def setUp(self): ###### create Users ####### users = ['UserA', 'UserB', 'UserC', 'UserD'] for i in range(4): newUser = AUser(password='', last_login=timezone.now(), is_superuser=True, username=users[i], first_name='Firstname', last_name='Lastname', email='*****@*****.**', is_staff=True, is_active=True, date_joined=timezone.now()) newUser.save() testDBModel.testUsers.append(newUser) testDBModel.testUsersID.append(newUser.pk) ###### add Category ###### category1 = Category(name="hats") testDBModel.testCategory.append(category1) category1.save() category2 = Category(name="glasses") testDBModel.testCategory.append(category2) category2.save() user = User(id=testDBModel.testUsersID[0], user_id=testDBModel.testUsersID[0], user_image="profile1.jpg") user.save() ###### add product ###### addProducts = ["ProductA", "ProductB", "ProductC", "ProductD"] for i in range(4): # # add products newOne = Product(category=category1, name=addProducts[i], brand='brand', url='url', photo='photo', price=1.0, description='') newOne.save() testDBModel.testProducts.append(newOne) ###### add custom product ##### newAdded = Added(owner=testDBModel.testUsers[0], product=testDBModel.testProducts[0]) newAdded.save() newAdded = Added(owner=testDBModel.testUsers[1], product=testDBModel.testProducts[1]) newAdded.save() ###### add temp product ###### tempP = TempProduct(owner=testDBModel.testUsers[0], overlay='overlay1ol.jpg', token='1', category=testDBModel.testCategory[0]) tempP.save() tempP = TempProduct(owner=testDBModel.testUsers[1], overlay='overlay2ol.jpg', token='2', category=testDBModel.testCategory[0]) tempP.save() testDBModel.testOverlay = ['overlay1ol.jpg', 'overlay2ol.jpg'] ##### ## add comments ###### for i in range(4): newOne = Comment(product=testDBModel.testProducts[i], owner=testDBModel.testUsers[i], content="null", time=timezone.now()) newOne.save() testDBModel.testComments.append(newOne) # add to wishlist first for i in range(4): newOne = WishList(product=testDBModel.testProducts[i], owner=testDBModel.testUsers[i]) newOne.save() # add to FitList: for i in range(4): newOne = FitList(product=testDBModel.testProducts[i], owner=testDBModel.testUsers[i]) newOne.save()
def setUpDb(request): User.objects.all().delete() Category.objects.all().delete() Product.objects.all().delete() WishList.objects.all().delete() FitList.objects.all().delete() Comment.objects.all().delete() Added.objects.all().delete() TempProduct.objects.all().delete() glasses = Category(name='glasses') hats = Category(name='hats') headphones = Category(name='headphones') glasses.save() hats.save() headphones.save() rayban = Product(category = glasses, name='rayban glasses', brand = 'rayban',url='www.rayban.com', price = 129.9, description='stylish rayban', overlay='raybanol.png', photo='rayban.jpg') nike = Product(category = glasses, name='nike glasses', brand = 'nike', url='www.nike.com', photo='nike.jpg',overlay='nikeol.png', price = 99.9, description = 'sporty nike') adidas = Product(category = hats, name='adidas cap', brand = 'adidas', url='www.adidas.com', photo='addidas.jpg', overlay='addidasol.png', price = 56.9, description ='adidas cap!', yoffset = -0.58) levis = Product(category = hats, name='levis hat', brand = 'levis', url='www.levis.com', photo='levis.jpg', overlay='levisol.png', price = 67.9, description ='levis hat!', yoffset = -0.58) beats = Product(category = headphones, name='beats headphones', brand = 'beats', url='www.beats.com', photo='beats.jpg', overlay='beatsol.png', price = 256.9, description='stylish headphones!', yoffset = -0.15) sony = Product(category = headphones, name='sony headphones', brand = 'sony', url='www.sony.com', photo='sony.jpg', overlay="sonyol.png", price = 399.9, description='high quality headphones!', yoffset = -0.15) rayban.save() nike.save() adidas.save() levis.save() beats.save() sony.save() comment = Comment(product = rayban, owner = AUser.objects.get(pk=1), time=timezone.now(), content="Very nice glasses!") comment.save() wish = WishList(owner=AUser.objects.get(pk=1), product=rayban) wish.save() fit = FitList(owner=AUser.objects.get(pk=1), product=adidas) fit.save() return HttpResponse("Success!")
def test_can_create_new_product(self): category = Category.objects.first() product = Product(category=category, SKU=123, img_src="abc") product.save() self.assertIn(product, Product.objects.all())
class BookmarkTests(TestCase): """ Test class holding the functions testing the Substitution model. """ def setUp(self): self.product_source = Product( name="Coca-Cola Classic", code="5449000000996", nutriscore="e", url="https://fr.openfoodfacts.org/produit/5449000000996/coca-cola", popularity=2802) self.product_source.save() self.product_target = Product( name="Coca-Cola Zero", code="5449000133335", nutriscore="b", url= "https://fr.openfoodfacts.org/produit/5449000133335/coca-cola-zero", popularity=181) self.product_target.save() test_user = User(email='*****@*****.**', password=None, first_name='essai', last_name='register') test_user.set_password('blabla75') test_user.save() self.target_user = User.objects.get(email='*****@*****.**') def test_save_and_get_bookmarks(self): print("\nTEST - Bookmark --> def save_bookmark()\n") Substitution.save_bookmark(self.product_source.id, self.product_target.id, self.target_user.id) print("TEST_BOOKMARK SAVED") print("\nTEST - Bookmark --> def get_bookmarks()\n") test_get_bookmarks = Substitution.get_bookmarks_by_user( self.target_user.id) print( "self.assertTrue(test_get_bookmarks[0].target_product_id, self.product_target.id)" ) self.assertTrue(test_get_bookmarks[0].target_product_id, self.product_target.id) print('Assert 1 Done') print( "self.assertTrue(test_get_bookmarks[0].source_product_id, self.product_source.id)" ) self.assertTrue(test_get_bookmarks[0].source_product_id, self.product_source.id) print('Assert 2 Done') def test_get_and_delete_bookmark(self): print("\nTEST - Bookmark --> def delete_bookmark()\n") Substitution.save_bookmark(self.product_source.id, self.product_target.id, self.target_user.id) print("TEST_BOOKMARK SAVED") test_delete_bookmark = Substitution.objects.get( source_product_id=self.product_source.id, target_product_id=self.product_target.id, user_id=self.target_user.id) print("test_delete_bookmark.delete()") test_delete_bookmark.delete() print("\ndef get_bookmarks_by_user()\n") test_get_bookmarks = Substitution.get_bookmarks_by_user( self.target_user.id) print("self.assertQuerysetEqual(test_get_bookmarks, [])") self.assertQuerysetEqual(test_get_bookmarks, []) print('Assert 1 Done') def test_specific_bookmark(self): print("\nTEST - Bookmark --> def specific_bookmark()\n") Substitution.save_bookmark(self.product_source.id, self.product_target.id, self.target_user.id) test_specific_1 = Substitution.specific_bookmark( self.product_source.id, self.product_target.id, self.target_user.id) print( "self.assertTrue(Substitution.specific_bookmark(self.product_source.id, self.product_target.id, self.target_user.id))" ) self.assertTrue(test_specific_1) print('ASSERT 1 DONE') print( "self.assertFalse(Substitution.specific_bookmark(5620, 5621, 12))") test_specific_2 = Substitution.specific_bookmark(5620, 5621, 12) self.assertFalse(test_specific_2) print("ASSERT 2 DONE") def test_check_favs(self): print("\nTEST - Bookmark --> def check_favs()\n") Substitution.save_bookmark(self.product_source.id, self.product_target.id, self.target_user.id) test_favs = Substitution.check_favs(self.product_source, self.target_user) print('test_favs: ' + str(test_favs)) print( "self.assertEqual(Substitution.check_favs(self.product_source, self.target_user)[0], 2" ) self.assertEqual(test_favs[0], 2) print('ASSERT DONE')