mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-20 06:45:50 +00:00
Add unit test for processUpdateForm method in PetController
This commit is contained in:
parent
6ac57b9b15
commit
9dcff80f3d
1 changed files with 21 additions and 0 deletions
|
@ -22,6 +22,7 @@ import static org.mockito.Mockito.doReturn;
|
|||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.doThrow;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import java.time.LocalDate;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
@DisplayName("PetController Tests")
|
||||
|
@ -121,4 +122,24 @@ class PetControllerTest {
|
|||
verify(model).put("pet", pet);
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Test processUpdateForm handles invalid birth date")
|
||||
void testProcessUpdateFormHandlesInvalidBirthDate() {
|
||||
Pet pet = new Pet();
|
||||
pet.setBirthDate(LocalDate.now().plusDays(1)); // Invalid birth date (future date)
|
||||
|
||||
BindingResult result = org.mockito.Mockito.mock(BindingResult.class);
|
||||
Owner owner = org.mockito.Mockito.mock(Owner.class);
|
||||
ModelMap model = org.mockito.Mockito.mock(ModelMap.class);
|
||||
RedirectAttributes redirectAttributes = org.mockito.Mockito.mock(RedirectAttributes.class);
|
||||
|
||||
doReturn(true).when(result).hasErrors();
|
||||
|
||||
String view = petController.processUpdateForm(pet, result, owner, model, redirectAttributes);
|
||||
|
||||
assertThat(view).isEqualTo("pets/createOrUpdatePetForm");
|
||||
verify(result).rejectValue("birthDate", "typeMismatch.birthDate");
|
||||
verify(model).put("pet", pet);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue