From c2666777f5403b3cbf8f112f77316dca8e3ab415 Mon Sep 17 00:00:00 2001
From: joeappleton18 <joeappleton18@gmail.com>
Date: Tue, 12 Mar 2024 06:51:49 +0000
Subject: [PATCH] updated exercise 2-3

---
 .../yatl/controller/TodoControllerTest.java   | 39 +++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/src/test/java/com/yatl/controller/TodoControllerTest.java b/src/test/java/com/yatl/controller/TodoControllerTest.java
index 3190deb..8a19ac9 100644
--- a/src/test/java/com/yatl/controller/TodoControllerTest.java
+++ b/src/test/java/com/yatl/controller/TodoControllerTest.java
@@ -65,4 +65,43 @@ class TodoControllerTest {
 			e.printStackTrace();
 		}
 	}
+
+	@Test
+	public void testThrows500WhenGetByIdDatabaseError() {
+		try {
+			when(ctx.pathParam("id")).thenReturn("1");
+			when(todoDao.getById(1)).thenThrow(new SQLException());
+			todoController.getTodoById(ctx);
+			verify(ctx).status(500);
+		} catch (SQLException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+
+	@Test
+	public void testThrows404WhenGetByIdNotFound() {
+		try {
+			when(ctx.pathParam("id")).thenReturn("1");
+			when(todoDao.getById(1)).thenReturn(null);
+			todoController.getTodoById(ctx);
+			verify(ctx).status(404);
+		} catch (SQLException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+
+
+	@Test
+	public void testThrows500WhenGetAllDatabaseError() {
+		try {
+			when(todoDao.getAll()).thenThrow(new SQLException());
+			todoController.getAllTodos(ctx);
+			verify(ctx).status(500);
+		} catch (SQLException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
 }
\ No newline at end of file
-- 
GitLab