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.verify;
|
||||||
import static org.mockito.Mockito.doThrow;
|
import static org.mockito.Mockito.doThrow;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
|
||||||
@ExtendWith(MockitoExtension.class)
|
@ExtendWith(MockitoExtension.class)
|
||||||
@DisplayName("PetController Tests")
|
@DisplayName("PetController Tests")
|
||||||
|
@ -121,4 +122,24 @@ class PetControllerTest {
|
||||||
verify(model).put("pet", pet);
|
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