diff --git a/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTest.java b/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTest.java index 869c2d08a..a4501252f 100644 --- a/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTest.java +++ b/src/test/java/org/springframework/samples/petclinic/owner/OwnerControllerTest.java @@ -49,7 +49,10 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.doNothing; +import org.junit.jupiter.api.DisplayName; + @ExtendWith(MockitoExtension.class) +@DisplayName("OwnerController Tests") class OwnerControllerTest { @Mock @@ -208,6 +211,46 @@ class OwnerControllerTest { } +@ExtendWith(MockitoExtension.class) +class PetControllerTest { + + @Mock + private OwnerRepository ownerRepository; + + @InjectMocks + private PetController petController; + + @BeforeEach + void setup() { + mockMvc = MockMvcBuilders.standaloneSetup(petController).build(); + } + + @Test + @DisplayName("Test findOwner with valid ownerId") + void testFindOwnerWithValidOwnerId() { + int ownerId = 1; + Owner owner = new Owner(); + doReturn(owner).when(ownerRepository).findById(ownerId); + + Owner result = petController.findOwner(ownerId); + + assertThat(result).isEqualTo(owner); + verify(ownerRepository).findById(ownerId); + } + + @Test + @DisplayName("Test findOwner with invalid ownerId") + void testFindOwnerWithInvalidOwnerId() { + int ownerId = 999; + doReturn(null).when(ownerRepository).findById(ownerId); + + assertThatThrownBy(() -> petController.findOwner(ownerId)).isInstanceOf(IllegalArgumentException.class) + .hasMessage("Owner ID not found: " + ownerId); + verify(ownerRepository).findById(ownerId); + } + +} + @ExtendWith(MockitoExtension.class) class VisitControllerTest {