1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-08-03 12:35:22 +02:00

feat: User Tooltip (#4319)

This commit is contained in:
Michael Genson 2024-10-11 19:36:26 -05:00 committed by GitHub
parent a2bdb02a7f
commit e06572b7ca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
23 changed files with 164 additions and 80 deletions

View file

@ -1,5 +1,6 @@
import random
import pytest
from fastapi.testclient import TestClient
from mealie.repos.repository_factory import AllRepositories
@ -8,10 +9,10 @@ from tests.utils.fixture_schemas import TestUser
def test_get_group_members(api_client: TestClient, unique_user: TestUser, h2_user: TestUser):
response = api_client.get(api_routes.groups_members, headers=unique_user.token)
response = api_client.get(api_routes.groups_members, params={"perPage": -1}, headers=unique_user.token)
assert response.status_code == 200
members = response.json()
members = response.json()["items"]
assert len(members) >= 2
all_ids = [x["id"] for x in members]
@ -20,19 +21,21 @@ def test_get_group_members(api_client: TestClient, unique_user: TestUser, h2_use
assert str(h2_user.user_id) in all_ids
def test_get_group_members_filtered(api_client: TestClient, unique_user: TestUser, h2_user: TestUser):
response = api_client.get(
api_routes.groups_members, params={"householdId": h2_user.household_id}, headers=unique_user.token
)
@pytest.mark.parametrize("query", ["id", "username"])
def test_get_group_member(api_client: TestClient, unique_user: TestUser, h2_user: TestUser, query: str):
if query == "id":
param = str(h2_user.user_id)
else:
param = h2_user.username
response = api_client.get(api_routes.groups_members_username_or_id(param), headers=unique_user.token)
assert response.status_code == 200
assert response.json()["id"] == str(h2_user.user_id)
members = response.json()
assert len(members) >= 1
all_ids = [x["id"] for x in members]
assert str(unique_user.user_id) not in all_ids
assert str(h2_user.user_id) in all_ids
def test_get_group_member_not_found(api_client: TestClient, unique_user: TestUser):
response = api_client.get(api_routes.groups_members_username_or_id(random_string()), headers=unique_user.token)
assert response.status_code == 404
def test_get_households(api_client: TestClient, unique_user: TestUser):

View file

@ -7,10 +7,10 @@ from tests.utils.fixture_schemas import TestUser
def test_get_household_members(api_client: TestClient, user_tuple: list[TestUser], h2_user: TestUser):
usr_1, usr_2 = user_tuple
response = api_client.get(api_routes.households_members, headers=usr_1.token)
response = api_client.get(api_routes.households_members, params={"perPage": -1}, headers=usr_1.token)
assert response.status_code == 200
members = response.json()
members = response.json()["items"]
assert len(members) >= 2
all_ids = [x["id"] for x in members]

View file

@ -320,6 +320,11 @@ def groups_labels_item_id(item_id):
return f"{prefix}/groups/labels/{item_id}"
def groups_members_username_or_id(username_or_id):
"""`/api/groups/members/{username_or_id}`"""
return f"{prefix}/groups/members/{username_or_id}"
def groups_reports_item_id(item_id):
"""`/api/groups/reports/{item_id}`"""
return f"{prefix}/groups/reports/{item_id}"