diff --git a/pom.xml b/pom.xml index bdb939f31..fe07d59b6 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 org.springframework.samples spring-petclinic - 2.0.0 + 2.0.0.BUILD-SNAPSHOT org.springframework.boot @@ -84,7 +84,7 @@ org.webjars - webjars-locator + webjars-locator-core org.webjars diff --git a/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java b/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java index d7afed12e..99915e7c0 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/VisitController.java @@ -34,8 +34,8 @@ import java.util.Map; * @author Dave Syer */ @Controller -class VisitController { - +public class VisitController // Set to public for testing -- can otherwise be accessed with annotations not covered in class +{ private final VisitRepository visits; private final PetRepository pets; diff --git a/src/test/java/org/springframework/samples/petclinic/teamkogan/VisitControllerTest.java b/src/test/java/org/springframework/samples/petclinic/teamkogan/VisitControllerTest.java new file mode 100644 index 000000000..7a1c7b94e --- /dev/null +++ b/src/test/java/org/springframework/samples/petclinic/teamkogan/VisitControllerTest.java @@ -0,0 +1,38 @@ +package org.springframework.samples.petclinic.teamkogan; + +import static org.junit.Assert.*; +import static org.mockito.Mockito.*; + +import java.util.HashMap; + +import org.junit.Test; +import org.springframework.samples.petclinic.owner.Pet; +import org.springframework.samples.petclinic.owner.PetRepository; +import org.springframework.samples.petclinic.owner.VisitController; +import org.springframework.samples.petclinic.visit.Visit; +import org.springframework.samples.petclinic.visit.VisitRepository; + +public class VisitControllerTest +{ + @Test + public void testPetVisitDate() + { + // Define random pet ID + final Integer PET_ID = 7; + Pet pet7 = new Pet(); + + // Mock dependencies + VisitRepository mockVisitRepo = mock(VisitRepository.class); + PetRepository mockPetRepo = mock(PetRepository.class); + VisitController visitController = new VisitController(mockVisitRepo, mockPetRepo); + + // Define mock behaviour + when(mockPetRepo.findById(PET_ID)).thenReturn(pet7); + + // Call method under inspection + Visit visit = visitController.loadPetWithVisit(PET_ID, new HashMap<>()); + + // Confirm that the same visit date was assigned to the pet + assertEquals(visit.getDate(), pet7.getVisits().get(0).getDate()); + } +}