def test_products(self): shop = models.Shop('shop-id', 'shop-name', 1, 2) shop2 = models.Shop('shop-id-2', 'shop-name-2', 5, 10) # generate some products for `shop` for i in range(1, 10, 2): models.Product('product-id-%d' % i, shop.id, 'product-title', .1 * i, 10) # generate some products for `shop2` for i in range(2, 11, 2): models.Product('product-id-%d' % i, shop2.id, 'product-title', .1 * i, 10) products = utils._find_best_products(models.Shops.values(), 3) assert products == [ models.Products['product-id-10'], models.Products['product-id-9'], models.Products['product-id-8'], ]
def test_attributes(self): product = models.Product('product-id', 'shop-id', 'product-title', .8, 10) assert product.id == 'product-id' assert product.shop_id == 'shop-id' assert product.title == 'product-title' assert product.popularity == .8 assert product.quantity == 10 with pytest.raises(KeyError) as exc: product.shop assert "KeyError: 'shop-id'" in str(exc)
def test_returns(self, get): shop = models.Shop('shop-id', 'shop-name', 59.33258, 18.0649) product = models.Product('product-id', shop.id, 'product-title', .8, 10) tag = models.Tag('tag-id', 'trousers') tagging = models.Tagging('tagging-id', shop.id, tag.id) response = get('%s?%s' % ( self.endpoint, 'count=10&radius=500&position[lat]=59.33258&position[lng]=18.0649&tags=trousers&tags=shirts' )) assert response.status_code == 200 assert 'products' in response.json assert response.json['products'] == [ { 'shop': {'lat': 59.33258, 'lng': 18.0649}, 'title': 'product-title', 'popularity': .8, } ]
def test_products(self, tagging): shop = models.Shop('shop-id', 'shop-name', 1, 2) product = models.Product('product-id', 'shop-id', 'product-title', .8, 10) assert shop.products == [product]
def test_aggregator(self): product = models.Product('product-id', 'shop-id', 'product-title', .8, 10) assert models.Products['product-id'] == product assert models.Products['shop_id']['shop-id'] == [product]
def test_shop(self): product = models.Product('product-id', 'shop-id', 'product-title', .8, 10) shop = models.Shop('shop-id', 'shop-name', 1, 2) assert product.shop == shop
def product(): return models.Product('product-id', 'shop-id', 'product-title', 0.8, 10)