From cd8cee435ef9e84d7f62b9e9e65972a3bff4dbe0 Mon Sep 17 00:00:00 2001 From: Amanda Date: Sat, 24 Feb 2018 17:46:13 -0500 Subject: [PATCH 1/4] Updated pom.xml to match current springclinic master so that application can run --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bdb939f31..a68944300 100644 --- a/pom.xml +++ b/pom.xml @@ -84,7 +84,7 @@ org.webjars - webjars-locator + webjars-locator-core org.webjars From 23b1d2bb5836c7aa8ea6b4bec9b4a31b08ace6f4 Mon Sep 17 00:00:00 2001 From: Amanda Date: Sat, 24 Feb 2018 17:47:17 -0500 Subject: [PATCH 2/4] Added test for Visit.java and VisitRepository.java --- .../petclinic/visit/VisitRepositoryTest.java | 51 +++++++++++++++++++ .../samples/petclinic/visit/VisitTest.java | 31 +++++++++++ 2 files changed, 82 insertions(+) create mode 100644 src/test/java/org/springframework/samples/petclinic/visit/VisitRepositoryTest.java create mode 100644 src/test/java/org/springframework/samples/petclinic/visit/VisitTest.java diff --git a/src/test/java/org/springframework/samples/petclinic/visit/VisitRepositoryTest.java b/src/test/java/org/springframework/samples/petclinic/visit/VisitRepositoryTest.java new file mode 100644 index 000000000..5e096df7e --- /dev/null +++ b/src/test/java/org/springframework/samples/petclinic/visit/VisitRepositoryTest.java @@ -0,0 +1,51 @@ +package org.springframework.samples.petclinic.visit; + +import java.util.Date; +import java.util.List; + +import static org.junit.Assert.*; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.stereotype.Service; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataJpaTest(includeFilters = @ComponentScan.Filter(Service.class)) +public class VisitRepositoryTest { + private static final int VISIT_ID = 1; + private static final String DESCRIPTION = "Visiting a test case"; + private static final Date TODAY = new Date(); + private Visit visit; + private List visitList; + + @Autowired + private VisitRepository visitRepository; + + @Before + public void setUp(){ + visit = new Visit(); + visit.setDescription(DESCRIPTION); + visit.setPetId(VISIT_ID); + visit.setDate(TODAY); + } + + @Test + public void shouldFindSavedVisitInVisitRepository() { + visitRepository.save(visit); + visitList = visitRepository.findByPetId(VISIT_ID); + + assertEquals(visitList.size(), 1); + Visit savedVisit = visitList.get(0); + assertEquals((int) savedVisit.getPetId(), VISIT_ID); + assertEquals(savedVisit.getDescription(), DESCRIPTION); + assertEquals(savedVisit.getDate(), TODAY); + } + + +} diff --git a/src/test/java/org/springframework/samples/petclinic/visit/VisitTest.java b/src/test/java/org/springframework/samples/petclinic/visit/VisitTest.java new file mode 100644 index 000000000..97d550d36 --- /dev/null +++ b/src/test/java/org/springframework/samples/petclinic/visit/VisitTest.java @@ -0,0 +1,31 @@ +package org.springframework.samples.petclinic.visit; + +import java.util.Date; +import static org.junit.Assert.*; +import org.junit.Test; + +public class VisitTest { + private Visit visit; + + @Test + public void testGetDate() { + Date today = new Date(); + visit.setDate(today); + assertEquals(visit.getDate(), today); + } + + @Test + public void testGetDescription() { + String description = "The greatest visit of all time"; + visit.setDescription(description); + assertEquals(visit.getDescription(), description); + } + + @Test + public void testGetPetId() { + int petId = 1; + visit.setPetId(petId); + assertEquals((int) visit.getPetId(), petId); + } + +} From 8f516f8e3d7ca53e3abce25eabdda32e478ad4d7 Mon Sep 17 00:00:00 2001 From: Amanda Date: Sat, 24 Feb 2018 23:39:23 -0500 Subject: [PATCH 3/4] Added comments for clarity --- .../petclinic/visit/VisitRepositoryTest.java | 19 +++++++++---------- .../samples/petclinic/visit/VisitTest.java | 15 +++++++++++---- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/test/java/org/springframework/samples/petclinic/visit/VisitRepositoryTest.java b/src/test/java/org/springframework/samples/petclinic/visit/VisitRepositoryTest.java index 5e096df7e..ea8b232a6 100644 --- a/src/test/java/org/springframework/samples/petclinic/visit/VisitRepositoryTest.java +++ b/src/test/java/org/springframework/samples/petclinic/visit/VisitRepositoryTest.java @@ -3,14 +3,13 @@ package org.springframework.samples.petclinic.visit; import java.util.Date; import java.util.List; -import static org.junit.Assert.*; +import static org.assertj.core.api.Assertions.assertThat; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; -import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.context.annotation.ComponentScan; import org.springframework.stereotype.Service; import org.springframework.test.context.junit4.SpringRunner; @@ -38,14 +37,14 @@ public class VisitRepositoryTest { @Test public void shouldFindSavedVisitInVisitRepository() { visitRepository.save(visit); + //Get the list of visits associated to VISIT_ID visitList = visitRepository.findByPetId(VISIT_ID); - - assertEquals(visitList.size(), 1); - Visit savedVisit = visitList.get(0); - assertEquals((int) savedVisit.getPetId(), VISIT_ID); - assertEquals(savedVisit.getDescription(), DESCRIPTION); - assertEquals(savedVisit.getDate(), TODAY); - } - + assertThat(visitList.size()).isEqualTo(1); + Visit savedVisit = visitList.get(0); + + assertThat((int) savedVisit.getPetId()).isEqualTo(VISIT_ID); + assertThat(savedVisit.getDescription()).isEqualTo(DESCRIPTION); + assertThat(savedVisit.getDate()).isEqualTo(TODAY); + } } diff --git a/src/test/java/org/springframework/samples/petclinic/visit/VisitTest.java b/src/test/java/org/springframework/samples/petclinic/visit/VisitTest.java index 97d550d36..4f6f3991a 100644 --- a/src/test/java/org/springframework/samples/petclinic/visit/VisitTest.java +++ b/src/test/java/org/springframework/samples/petclinic/visit/VisitTest.java @@ -1,31 +1,38 @@ package org.springframework.samples.petclinic.visit; import java.util.Date; -import static org.junit.Assert.*; +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.Before; import org.junit.Test; public class VisitTest { private Visit visit; + @Before + public void setUp() { + visit = new Visit(); + } + @Test public void testGetDate() { Date today = new Date(); visit.setDate(today); - assertEquals(visit.getDate(), today); + assertThat(visit.getDate()).isEqualTo(today); } @Test public void testGetDescription() { String description = "The greatest visit of all time"; visit.setDescription(description); - assertEquals(visit.getDescription(), description); + assertThat(visit.getDescription()).isEqualTo(description); } @Test public void testGetPetId() { int petId = 1; visit.setPetId(petId); - assertEquals((int) visit.getPetId(), petId); + assertThat((int) visit.getPetId()).isEqualTo(petId); } } From 506639c5d8cef6187e1b2eba8a846427c1cc1796 Mon Sep 17 00:00:00 2001 From: Amanda Date: Sat, 24 Feb 2018 23:40:52 -0500 Subject: [PATCH 4/4] Addition to VisitController tests --- .../samples/petclinic/owner/VisitControllerTests.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/springframework/samples/petclinic/owner/VisitControllerTests.java b/src/test/java/org/springframework/samples/petclinic/owner/VisitControllerTests.java index 08d61360e..ff02bce95 100644 --- a/src/test/java/org/springframework/samples/petclinic/owner/VisitControllerTests.java +++ b/src/test/java/org/springframework/samples/petclinic/owner/VisitControllerTests.java @@ -16,10 +16,15 @@ import org.springframework.boot.test.mock.mockito.MockBean; 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; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; +import static org.mockito.Mockito.verify; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.anyInt; + /** * Test class for {@link VisitController} * @@ -50,6 +55,7 @@ public class VisitControllerTests { mockMvc.perform(get("/owners/*/pets/{petId}/visits/new", TEST_PET_ID)) .andExpect(status().isOk()) .andExpect(view().name("pets/createOrUpdateVisitForm")); + verify(pets).findById(anyInt()); //Ensure that a pet gets loaded per visit } @Test @@ -60,6 +66,8 @@ public class VisitControllerTests { ) .andExpect(status().is3xxRedirection()) .andExpect(view().name("redirect:/owners/{ownerId}")); + verify(pets).findById(anyInt()); //Ensure that a pet gets loaded per visit + verify(visits).save(any(Visit.class)); //Ensure that upon success, the visit gets saved } @Test @@ -70,6 +78,6 @@ public class VisitControllerTests { .andExpect(model().attributeHasErrors("visit")) .andExpect(status().isOk()) .andExpect(view().name("pets/createOrUpdateVisitForm")); + verify(pets).findById(anyInt()); //Ensure that a pet gets loaded per visit } - }