From 9359be811aced170a31e57e71ca34822415dc9ce Mon Sep 17 00:00:00 2001 From: Auto_EPMD-EDP AIAssistant Date: Fri, 25 Oct 2024 18:43:33 +0300 Subject: [PATCH] Add unit tests for PetTypeFormatter parse method --- .../petclinic/PetTypeFormatterTest.java | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/test/java/org/springframework/samples/petclinic/PetTypeFormatterTest.java diff --git a/src/test/java/org/springframework/samples/petclinic/PetTypeFormatterTest.java b/src/test/java/org/springframework/samples/petclinic/PetTypeFormatterTest.java new file mode 100644 index 000000000..3182cbbad --- /dev/null +++ b/src/test/java/org/springframework/samples/petclinic/PetTypeFormatterTest.java @@ -0,0 +1,59 @@ +import org.junit.jupiter.api.DisplayName; +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.samples.petclinic.owner.PetType; +import org.springframework.samples.petclinic.owner.PetTypeFormatter; +import org.springframework.samples.petclinic.owner.OwnerRepository; + +import java.text.ParseException; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.mockito.BDDMockito.given; +import static org.mockito.BDDMockito.then; + +@ExtendWith(MockitoExtension.class) +class PetTypeFormatterTest { + + @Mock + private OwnerRepository ownerRepository; + + @InjectMocks + private PetTypeFormatter petTypeFormatter; + + @Test + @DisplayName("Test parse method with valid pet type") + void testParseWithValidPetType() throws Exception { + List petTypes = new ArrayList<>(); + PetType dog = new PetType(); + dog.setName("Dog"); + petTypes.add(dog); + given(ownerRepository.findPetTypes()).willReturn(petTypes); + + PetType result = petTypeFormatter.parse("Dog", Locale.ENGLISH); + + assertThat(result.getName()).isEqualTo("Dog"); + then(ownerRepository).should().findPetTypes(); + } + + @Test + @DisplayName("Test parse method with invalid pet type") + void testParseWithInvalidPetType() throws Exception { + List petTypes = new ArrayList<>(); + PetType dog = new PetType(); + dog.setName("Dog"); + petTypes.add(dog); + given(ownerRepository.findPetTypes()).willReturn(petTypes); + + assertThatThrownBy(() -> petTypeFormatter.parse("Dragon", Locale.ENGLISH)).isInstanceOf(ParseException.class) + .hasMessage("type not found: Dragon"); + then(ownerRepository).should().findPetTypes(); + } + +}