diff --git a/petclinicweb/pom.xml b/petclinicweb/pom.xml
index 84d1d2f..ceacb6c 100644
--- a/petclinicweb/pom.xml
+++ b/petclinicweb/pom.xml
@@ -80,6 +80,22 @@
+
+ org.junit.jupiter
+ junit-jupiter-api
+ test
+
+
+ org.junit.jupiter
+ junit-jupiter-engine
+ test
+
+
+ org.mockito
+ mockito-junit-jupiter
+ 3.2.4
+ test
+
\ No newline at end of file
diff --git a/petclinicweb/src/test/java/com/petclinic/petclinic/controllers/OwnerControllerTest.java b/petclinicweb/src/test/java/com/petclinic/petclinic/controllers/OwnerControllerTest.java
new file mode 100644
index 0000000..941fd39
--- /dev/null
+++ b/petclinicweb/src/test/java/com/petclinic/petclinic/controllers/OwnerControllerTest.java
@@ -0,0 +1,60 @@
+package com.petclinic.petclinic.controllers;
+
+import com.petclinic.petclinic.models.Owner;
+import com.petclinic.petclinic.services.OwnerService;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+import org.springframework.test.web.servlet.MockMvc;
+import org.springframework.test.web.servlet.setup.MockMvcBuilders;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import static org.hamcrest.Matchers.hasSize;
+import static org.mockito.Mockito.when;
+import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
+import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
+
+@ExtendWith(MockitoExtension.class)
+class OwnerControllerTest {
+
+ @Mock
+ OwnerService ownerService;
+
+ @InjectMocks
+ OwnerController controller;
+
+ Set owners;
+ MockMvc mockMvc;
+
+ @BeforeEach
+ void setUp() {
+ owners = new HashSet<>();
+ owners.add(Owner.builder().firstName("Enes").build());
+ owners.add(Owner.builder().firstName("Hasan").build());
+
+ mockMvc = MockMvcBuilders.standaloneSetup(controller).build();
+ }
+
+ @Test
+ void listOwners() throws Exception {
+ when(ownerService.findAll()).thenReturn(owners);
+ mockMvc.perform(get("/owners/"))
+ .andExpect(status().isOk())
+ .andExpect(view().name("owners/index"))
+ .andExpect(model().attribute("owners", hasSize(2)));
+ }
+
+ @Test
+ void listOwnersByIndex() throws Exception {
+ when(ownerService.findAll()).thenReturn(owners);
+ mockMvc.perform(get("/owners/index"))
+ .andExpect(status().isOk())
+ .andExpect(view().name("owners/index"))
+ .andExpect(model().attribute("owners", hasSize(2)));
+ }
+}
\ No newline at end of file