Esempio n. 1
0
def prepare_create_receipt() -> tuple:
    first_ingredient = Ingredient(name='Name', calories=200)
    session.add(first_ingredient)

    second_ingredient = Ingredient(name='Name1', calories=201)
    session.add(second_ingredient)

    session.commit()

    first_step = 'First step'
    second_step = 'Second step'

    return first_ingredient, second_ingredient, first_step, second_step
Esempio n. 2
0
def add_recipe():
    data = request.data
    recipe_data = json.loads(data.decode("utf-8"))

    recipe = Recipe(title=recipe_data['title'],
                    instructions=recipe_data['instructions'],
                    img=recipe_data['img'],
                    type=recipe_data['type'],
                    time=recipe_data['time'],
                    people=recipe_data['people'],
                    owner=recipe_data['owner'])
    db_session.add(recipe)

    for ingredient in recipe_data['ingredients']:
        ingredient = Ingredient(item=ingredient['item'],
                                quantity=ingredient['quantity'])
        db_session.add(ingredient)
        recipe.ingredients.append(ingredient)

    try:
        db_session.commit()
    except Exception:
        db_session.rollback()

    clear_sessions()

    return return_result(data=recipe_data)
Esempio n. 3
0
def test_create_ingredients():
    ingredient = Ingredient(name='Name', calories=120)
    session.add(ingredient)
    session.commit()

    actual = session.query(Ingredient).count()
    expected = 1

    assert actual == expected
    def post(self) -> dict:
        create_params = self.create_params()
        ingredient = Ingredient(**create_params)

        session.add(ingredient)
        session.commit()

        ingredient = IngredientClientSchema().dump(ingredient)
        response = BasicResponse(ingredient)
        return BasicResponseSchema().dump(response)
def test_delete(test_client: FlaskClient, admin_headers: dict):
    ingredient = Ingredient(name='Name', calories=200)
    session.add(ingredient)
    session.commit()

    test_client.delete(f"/api/admin/v1/ingredients/{ingredient.id}/",
                       headers=admin_headers)
    actual = session.query(Ingredient).count()
    expected = 0

    assert actual == expected
def test_show(test_client: FlaskClient, admin_headers: dict):
    ingredient = Ingredient(name='Name', calories=200)
    session.add(ingredient)
    session.commit()

    response = test_client.get(f"/api/admin/v1/ingredients/{ingredient.id}/",
                               headers=admin_headers)
    actual = response.json['result']
    expected = IngredientClientSchema().dump(ingredient)

    assert actual == expected
def test_count(test_client: FlaskClient, admin_headers: dict):
    ingredient = Ingredient(name='Name', calories=200)
    session.add(ingredient)
    session.commit()

    response = test_client.get('/api/admin/v1/ingredients/',
                               headers=admin_headers)
    actual = len(response.json['result'])
    expected = 1

    assert actual == expected
def test_update(test_client: FlaskClient, admin_headers: dict):
    ingredient = Ingredient(name='Name', calories=200)
    session.add(ingredient)
    session.commit()

    data = ({
        "name": "Name111",
        "calories": 2001,
    })
    response = test_client.put(f"/api/admin/v1/ingredients/{ingredient.id}/",
                               json=data,
                               headers=admin_headers)

    actual = response.json['result']
    expected = IngredientClientSchema().dump(ingredient)

    assert actual == expected
Esempio n. 9
0
def add_recipe():
    data = request.data
    recipe_data = json.loads(data.decode("utf-8"))

    if not recipe_data['img'].startswith("https://res.cloudinary.com/" +
                                         config.CLOUD_NAME + "/image/upload/"):
        return return_result(message="Je hebt geen geldig plaatje geupload.",
                             code=500,
                             status="failure")
    recipe = Recipe(title=replacer(recipe_data['title']),
                    instructions=replacer(recipe_data['instructions']),
                    img=recipe_data['img'],
                    type=recipe_data['type'],
                    time=replacer(recipe_data['time']),
                    people=recipe_data['people'],
                    vegan=recipe_data['vegan'],
                    owner=replacer(recipe_data['owner']),
                    approved=False,
                    likes=0)
    db_session.add(recipe)

    for ingredient in recipe_data['ingredients']:
        ingredient = Ingredient(item=replacer(ingredient['item']),
                                quantity=replacer(ingredient['quantity']))
        db_session.add(ingredient)
        recipe.ingredients.append(ingredient)

    try:
        db_session.commit()
        clear_sessions()
        return return_result(data=recipe_data)
    except Exception:
        db_session.rollback()
        clear_sessions()
        return return_result(
            message="Je bereidingswijze is te lang, kort hem a.u.b. wat in.",
            code=500,
            status="failure")
Esempio n. 10
0
def execute_before_any_test():
    IngredientsReceipts.truncate()
    UsersReceipts.truncate()
    Receipt.truncate()
    Ingredient.truncate()
    User.truncate()