From 11c94f29873a931920a366bcc824c7e43ad41c5c Mon Sep 17 00:00:00 2001 From: hay-kot Date: Mon, 29 Mar 2021 20:06:02 -0800 Subject: [PATCH] group tests --- docs/docs/overrides/api.html | 2 +- tests/integration_tests/test_group_routes.py | 61 ++++++++++++++++---- 2 files changed, 52 insertions(+), 11 deletions(-) diff --git a/docs/docs/overrides/api.html b/docs/docs/overrides/api.html index aba047069..50778c3f3 100644 --- a/docs/docs/overrides/api.html +++ b/docs/docs/overrides/api.html @@ -14,7 +14,7 @@
diff --git a/tests/integration_tests/test_group_routes.py b/tests/integration_tests/test_group_routes.py index afe0d3022..c38235e72 100644 --- a/tests/integration_tests/test_group_routes.py +++ b/tests/integration_tests/test_group_routes.py @@ -1,22 +1,63 @@ +import json + +import pytest from fastapi.testclient import TestClient from tests.app_routes import AppRoutes -def test_create_group(api_client: TestClient, api_routes: AppRoutes): - assert False is True +@pytest.fixture +def group_data(): + return {"name": "Test Group"} -def test_get_self_group(api_client: TestClient, api_routes: AppRoutes): - assert False is True +def test_create_group(api_client: TestClient, api_routes: AppRoutes, token): + response = api_client.post(api_routes.groups, json={"name": "Test Group"}, headers=token) + + assert response.status_code == 200 + + assert json.loads(response.content) == { + "snackbar": {"text": "User Group Created", "type": "success"}, + "created": True, + } -def test_update_group(api_client: TestClient, api_routes: AppRoutes): - assert False is True +def test_get_self_group(api_client: TestClient, api_routes: AppRoutes, token): + response = api_client.get(api_routes.groups, headers=token) + + assert response.status_code == 200 + assert len(json.loads(response.text)) >= 2 -def test_block_delete(api_client: TestClient, api_routes: AppRoutes): - assert False is True +def test_update_group(api_client: TestClient, api_routes: AppRoutes, token): + new_data = { + "name": "New Group Name", + "id": 2, + "categories": [], + "webhookUrls": [], + "webhookTime": "00:00", + "webhookEnable": False, + "users": [], + "mealplans": [], + } + # Test Update + response = api_client.put(api_routes.groups_id(2), json=new_data, headers=token) + assert response.status_code == 200 + assert json.loads(response.text) == {"snackbar": {"text": "Group Settings Updated", "type": "success"}} + + # Validate Changes + response = api_client.get(api_routes.groups, headers=token) + all_groups = json.loads(response.text) + id_2 = filter(lambda x: x["id"] == 2, all_groups) + assert next(id_2) == new_data -def test_delete_group(api_client: TestClient, api_routes: AppRoutes): - assert False is True +def test_block_delete(api_client: TestClient, api_routes: AppRoutes, token): + response = api_client.delete(api_routes.groups_id(1), headers=token) + + assert json.loads(response.text) == {"snackbar": {"text": "Cannot delete default group", "type": "error"}} + + +def test_delete_group(api_client: TestClient, api_routes: AppRoutes, token): + response = api_client.delete(api_routes.groups_id(2), headers=token) + + assert json.loads(response.text) is None