def seed_data(): try: articles = Articles(title='Test Post', description='This is a description') db.session.add(articles) db.session.commit() print("success seed data") except Exception as err: exit(err)
def stores(): try: data = request.get_json() title = data['title'] description = data['description'] article = Articles(title=title, description=description) db.session.add(article) db.session.commit() article_data = get_articles() return response(data=article_data, code=200, message="success") except Exception as err: return response(code=202, message=str(err))
def generate_output(self): articles = Articles(data=self.input_data.get('articles', [])) delivery = DeliveryFee(data=self.input_data.get('delivery_fees', [])) discount = Discount(data=self.input_data.get('discounts', [])) checkout_list = [] for cart_data in self.input_data.get('carts', []): cart = Cart(cart_id=cart_data.get('id'), items=cart_data.get('items'), articles=articles, delivery=delivery, discount=discount) checkout_list.append({'id': cart.id, 'total': cart.total}) return {'carts': checkout_list}
def test_get_article_by_id_with_nonexistent_id(): articles_data = [{ 'id': 1, 'name': 'water', 'price': 100 }, { 'id': 2, 'name': 'honey', 'price': 200 }, { 'id': 3, 'name': 'mango', 'price': 400 }] articles = Articles(data=articles_data) assert articles.get_article_by_id(article_id=4) == {}
def create_article(self): if web.ctx.method == "GET": category_list = Categories.select().where(Categories.status == 0) self.private_data["category_list"] = category_list return self.display("admin/create_article") else: inputs = self.get_input() title = inputs.get('name') content = inputs.get('content') summary = inputs.get("summary") category_id = inputs.get("category_id") source_url = inputs.get("source_url", "") keywords = str(inputs.get("keywords", "")).strip() image = Images.get_or_none() category = Categories.get_or_none(Categories.id == category_id) try: tags_list = keywords.split(",") if keywords else [] if tags_list: got_tags = Tags.select().where(Tags.name.in_(tags_list)) tmp_list = [] for tag in got_tags: tmp_list.append(tag.name) for tag_str in tags_list: if tag_str not in tmp_list: t = Tags(name=tag_str) t.save() db = TinyDB('settings/db.json') db.truncate() db.close() article = Articles(name=title, content=content, summary=summary, category=category, original_address=source_url, keywords=keywords, thumbnail=image) article.save() self.private_data["create_success"] = True return web.seeother(self.make_url('articles')) except Exception as e: log.error('create article failed %s' % traceback.format_exc()) log.error('input params %s' % inputs) self.private_data["create_success"] = False return self.display("admin/create_article")
def process_articles(article_list): ''' Function that processes the article results and transform them to a list of objects Args: article_list: A list of dictionaries that contain article details Returns : article_results: A list of article objects ''' article_results = [] for article_item in article_list: source = article_item.get('source') title = article_item.get('title') urlToImage = article_item.get('urlToImage') description = article_item.get('description') urlToArticle = article_item.get('url') publishedAt = article_item.get('publishedAt') article_object = Articles(source, title, description, urlToImage, urlToArticle, publishedAt) article_results.append(article_object) return article_results
def test_total_with_delivery_fee(): articles = Articles(data=ARTICLES_DATA) delivery = DeliveryFee(data=DELIVERY_DATA) discount = Discount(data=[]) items = [ { 'article_id': 1, 'quantity': 6 }, { 'article_id': 2, 'quantity': 2 }, ] cart = Cart(cart_id=1, items=items, articles=articles, delivery=delivery, discount=discount) assert cart.total == (100 * 6 + 200 * 2) + 400
def test__calculate_items_total(): articles = Articles(data=ARTICLES_DATA) delivery = DeliveryFee(data=DELIVERY_DATA) discount = Discount(data=[]) items = [ { 'article_id': 1, 'quantity': 6 }, { 'article_id': 2, 'quantity': 2 }, ] cart = Cart(cart_id=1, items=items, articles=articles, delivery=delivery, discount=discount) assert cart._calculate_items_total() == 100 * 6 + 200 * 2
def test__apply_delivery_fee(): articles = Articles(data=ARTICLES_DATA) delivery = DeliveryFee(data=DELIVERY_DATA) discount = Discount(data=[]) items = [ { 'article_id': 1, 'quantity': 6 }, { 'article_id': 2, 'quantity': 2 }, ] cart = Cart(cart_id=1, items=items, articles=articles, delivery=delivery, discount=discount) cart_price = 1000 assert cart._apply_delivery_fee(price=cart_price) == cart_price + 400
def test_get_article_by_id_with_empty_data(): articles_data = [] articles = Articles(data=articles_data) assert articles.get_article_by_id(article_id=4) == {}