def create_shop_api(): try: shop_hash = get_shop_json_attr_from_hash(request.json) if Shop.is_valid_hash_for_create(shop_hash): shop_hash['fk_user_id'] = g.current_user.user_id shop = Shop.create_shop(shop_hash) return dumps(shop.as_json()), 200 except ValueError as e: return dumps(e.message), 400 except Exception as e: print(e.message) print(traceback.print_exc()) return dumps(e.message), 400
def list_shop_api(): try: shops = Shop.find_shops_by_user(g.current_user) return dumps([shop.as_json() for shop in shops]), 200 except ValueError as e: return dumps(e.message), 400 except Exception as e: print(e.message) print(traceback.print_exc()) return dumps(e.message), 400
def get_shop(shop_id): try: shop = Shop.find_by_id(shop_id) if shop: return dumps(shop.as_json()), 200 else: return dumps({"Error": "Shop Not found"}), 400 except Exception as e: print(e.message) print(traceback.print_exc()) return dumps(e.message), 400
def list_offer_api(shop_id): try: shop = Shop.find_by_id(shop_id=shop_id) offers = Offer.find_by_shop(shop) return dumps([offer.as_json() for offer in offers]), 200 except ValueError as e: return dumps(e.message), 400 except Exception as e: print(e.message) print(traceback.print_exc()) return dumps(e.message), 400
def update_shop(shop_id): try: shop_hash = get_shop_json_attr_from_hash(request.json) shop = Shop.find_by_id(shop_id) if shop: shop = shop.update_shop_details(shop_hash) return dumps(shop.as_json()), 200 else: return dumps({"Error": "Shop Not found"}), 400 except Exception as e: print(e.message) print(traceback.print_exc()) return dumps(e.message), 400
def create_offer_api(shop_id): try: offer_hash = get_offer_json_attr_from_hash(request.json) if Offer.is_valid_hash_for_create(offer_hash): offer_hash['shop'] = Shop.find_by_id(shop_id) offer = Offer.create_offer(offer_hash) return dumps(offer.as_json()), 200 except ValueError as e: return dumps(e.message), 400 except Exception as e: print(e.message) print(traceback.print_exc()) return dumps(e.message), 400
def create_shop(shop_hash=None, fk_user_id=None, fk_category_id=None): if shop_hash is None: shop_hash = { 'name': 'myshop', 'phone': '123456789', 'address': 'some where in india', 'web_site': 'http://www.some_where_in_internet.com', 'shop_profile_banner_url': 'some_url', 'shop_profile_image_url': 'some_url', 'fk_user_id': create_user().user_id if not fk_user_id else fk_user_id, 'geo_location': 'some_where_in_map', 'fk_category_id': create_category().category_id if not fk_category_id else fk_category_id } return Shop.create_shop(shop_hash)
def test_get_home_api(self): user_json = self.get_user_json() user = create_user(user_json) headers_dict = {'EMAIL': user.email} shop_1 = create_shop(fk_user_id=user.user_id, fk_category_id=self.category.category_id) shop_2 = create_shop(fk_user_id=user.user_id, fk_category_id=self.category.category_id) uri = "/user/{user_id}/home".format(user_id=user.user_id) home_response = self.app.get( uri, headers=headers_dict ) self.assertEqual(200, home_response.status_code) json_home = json.loads(home_response.data) home = { 'banners': [], 'shops': dumps([shop.as_json() for shop in Shop.find_shops_by_user(user=user)]), 'offers': [], 'recommended': [], 'recent_view': [], } self.assertEqual(dumps(home), dumps(json_home))
def __init__(self, offer_id=None, title=None, discount=None, address=None, description=None, offer_profile_banner_url=None, geo_location=None, fk_shop_id=None, fk_category_id=None, starting_time=None, end_time=None): self.offer_id = offer_id self.title = title self.discount = discount self.address = address self.description = description self.offer_profile_banner_url = offer_profile_banner_url self.shop = Shop.find_by_id(shop_id=fk_shop_id) self.category = Category.find_by_id(category_id=fk_category_id) self.starting_time = starting_time self.end_time = end_time self.geo_location = geo_location
def test_should_return_list_of_shop_by_user(self): create_shop(fk_user_id=self.user.user_id) create_shop(fk_user_id=self.user.user_id) create_shop(fk_user_id=self.user.user_id) shop = Shop.find_shops_by_user(self.user) self.assertEqual(len(shop), 4)
def test_should_return_None_by_find_by_shop_id(self): shop = Shop.find_by_id("some_wrong_shop_id") self.assertEqual(None, shop)
def test_should_return_shop_by_find_by_shop_id(self): shop = Shop.find_by_id(self.shop.shop_id) self.assertEqual(self.shop, shop)