mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-08-02 20:15:24 +02:00
Fix: Allow Last Made to be Updated on Locked Recipes (#2140)
* allow certain props to be updated on locked recipe * pytest * added "last_made" to hardcoded datetime fields * refactored last made to its own route * codegen/types * updated pytest
This commit is contained in:
parent
a6c46a7420
commit
fd03d468d4
9 changed files with 88 additions and 5 deletions
|
@ -1,3 +1,5 @@
|
|||
from datetime import datetime
|
||||
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from tests.utils import api_routes
|
||||
|
@ -86,6 +88,36 @@ def test_user_locked_recipe(api_client: TestClient, user_tuple: list[TestUser])
|
|||
assert response.status_code == 403
|
||||
|
||||
|
||||
def test_user_update_last_made(api_client: TestClient, user_tuple: list[TestUser]) -> None:
|
||||
usr_1, usr_2 = user_tuple
|
||||
|
||||
# Setup Recipe
|
||||
recipe_name = random_string()
|
||||
response = api_client.post(api_routes.recipes, json={"name": recipe_name}, headers=usr_1.token)
|
||||
assert response.status_code == 201
|
||||
|
||||
# Get Recipe
|
||||
response = api_client.get(api_routes.recipes + f"/{recipe_name}", headers=usr_1.token)
|
||||
assert response.status_code == 200
|
||||
recipe = response.json()
|
||||
|
||||
# Lock Recipe
|
||||
recipe["settings"]["locked"] = True
|
||||
response = api_client.put(api_routes.recipes + f"/{recipe_name}", json=recipe, headers=usr_1.token)
|
||||
|
||||
# User 2 should be able to update the last made timestamp
|
||||
last_made_json = {"timestamp": datetime.now().isoformat()}
|
||||
response = api_client.patch(
|
||||
api_routes.recipes_slug_last_made(recipe_name), json=last_made_json, headers=usr_2.token
|
||||
)
|
||||
assert response.status_code == 200
|
||||
|
||||
response = api_client.get(api_routes.recipes + f"/{recipe_name}", headers=usr_1.token)
|
||||
assert response.status_code == 200
|
||||
recipe = response.json()
|
||||
assert recipe["lastMade"] == last_made_json["timestamp"]
|
||||
|
||||
|
||||
def test_other_user_cant_lock_recipe(api_client: TestClient, user_tuple: list[TestUser]) -> None:
|
||||
usr_1, usr_2 = user_tuple
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue