From 3c7925cb1c5b4f05ee8a5107b5030c30fa38573b Mon Sep 17 00:00:00 2001 From: Gustavo Henrique Santos Souza de Miranda Date: Sun, 20 Jul 2025 15:21:49 -0300 Subject: [PATCH] test(entry_service): add a failure case test for create method This commit adds a unit test for an important "unhappy path" in the EntryService's `create` method. It specifically verifies that the method gracefully returns `None` when provided with a `travel_diary_id` that does not exist in the database, ensuring the initial guard clause works as expected. --- tests/service/test_entry_service.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/service/test_entry_service.py b/tests/service/test_entry_service.py index b2f1a6a..71cb97a 100644 --- a/tests/service/test_entry_service.py +++ b/tests/service/test_entry_service.py @@ -52,4 +52,19 @@ def test_create_entry_successfully(populated_db_session): assert created_entry.photos[0].filepath == "/path/to/photo1.jpg" entry_in_db = session.query(Entry).filter_by(id=created_entry.id).one() - assert entry_in_db.title == "Primeiro Dia na Praia" \ No newline at end of file + assert entry_in_db.title == "Primeiro Dia na Praia" + +def test_create_entry_fails_when_diary_id_is_invalid(db_session): + session = db_session + service = EntryService(session) + invalid_id = 666 + + result = service.create( + travel_diary_id=invalid_id, + title="Título de Teste", + text="Texto de Teste", + date=datetime(2025, 7, 20), + photos=[] + ) + + assert result is None \ No newline at end of file