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
Exemple #7
0
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)
Exemple #8
0
    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))
Exemple #9
0
    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)