mealie/tests/integration_tests/test_validators.py
Matthias Bilger e109391e9a
Added validators for users and recipes (#1052)
* Added validators for users and recipes

provide a simple get api, allowing to test for existence of
- user by username
- recipe by slug
- group by name (not tested yet)

* updated formatting

* Use group_id+slug for recipes, use ValidationRespone

* Fixed Flake8 errors and warnings

* add missing field for TestUser init
2022-03-15 14:28:42 -08:00

47 lines
1.4 KiB
Python

from fastapi.testclient import TestClient
from mealie.db.db_setup import create_session
from mealie.schema.recipe.recipe import Recipe
from tests.utils.fixture_schemas import TestUser
class Routes:
user = "/api/validators/user"
recipe = "/api/validators/recipe"
def test_validators_user(api_client: TestClient, unique_user: TestUser):
session = create_session()
# Test existing user
response = api_client.get(Routes.user + f"/{unique_user.username}")
assert response.status_code == 200
response_data = response.json()
assert not response_data["valid"]
# Test non-existing user
response = api_client.get(Routes.user + f"/{unique_user.username}2")
assert response.status_code == 200
response_data = response.json()
assert response_data["valid"]
session.close()
def test_validators_recipe(api_client: TestClient, random_recipe: Recipe):
session = create_session()
# Test existing user
response = api_client.get(Routes.recipe + f"/{random_recipe.group_id}/{random_recipe.slug}")
assert response.status_code == 200
response_data = response.json()
assert not response_data["valid"]
# Test non-existing user
response = api_client.get(Routes.recipe + f"/{random_recipe.group_id}/{random_recipe.slug}-test")
assert response.status_code == 200
response_data = response.json()
assert response_data["valid"]
session.close()