From 00e5a34a7708f2be06ea2f5a01342dcde7b3c8a8 Mon Sep 17 00:00:00 2001 From: Timur Enikeev Date: Sun, 11 Aug 2024 03:54:04 -0400 Subject: [PATCH] Fix is_hidden patch error --- services_backend/routes/button.py | 2 +- tests/api/button.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/services_backend/routes/button.py b/services_backend/routes/button.py index 94cfd28..1b350d3 100644 --- a/services_backend/routes/button.py +++ b/services_backend/routes/button.py @@ -244,7 +244,7 @@ def update_button( raise HTTPException(status_code=404, detail="Category does not exist") if not button: raise HTTPException(status_code=404, detail="Button does not exist") - if not any(button_inp.model_dump().values()): + if all(value is None for value in button_inp.model_dump().values()): raise HTTPException(status_code=400, detail="Empty schema") if button.category_id != category_id: raise HTTPException(status_code=404, detail="Button is not this category") diff --git a/tests/api/button.py b/tests/api/button.py index a789d3f..9e8aa1d 100644 --- a/tests/api/button.py +++ b/tests/api/button.py @@ -291,6 +291,21 @@ def test_patch_to_hide_success(client, db_button, db_category): assert res.json()["view"] == "hidden" +def test_patch_to_unhide_success(client, db_button, db_category): + body = {"is_hidden": True} + res = client.patch(f"/category/{db_category.id}/button/{db_button.id}", data=json.dumps(body)) + assert res.status_code == status.HTTP_200_OK + res_body = res.json() + assert res_body["is_hidden"] == True + body["is_hidden"] = False + res = client.patch(f"/category/{db_category.id}/button/{db_button.id}", data=json.dumps(body)) + assert res.status_code == status.HTTP_200_OK + res_body = res.json() + assert res_body["name"] == db_button.name + assert res_body["is_hidden"] == False + assert res_body["link"] == db_button.link + + def test_delete_hidden_success(client, dbsession, db_button, db_category): db_button.is_hidden = True dbsession.commit()