mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2026-01-14 13:51:12 +00:00
Modularize and migrate to aggregate-oriented domain
Vet, Owner, Visit. The Visit "aggregate" is a little artificial but it demonstrates a useful point about not holding on to references of "parent" (reference data) objects, i.e. the Visit has an Integer petId, instead of a Pet field. In principle this app is now almost ready to migrate to multiple services if anyone wanted to do that.
This commit is contained in:
parent
8c8599298a
commit
83ff9a50e3
34 changed files with 270 additions and 384 deletions
|
|
@ -1,4 +1,13 @@
|
|||
package org.springframework.samples.petclinic.web;
|
||||
package org.springframework.samples.petclinic.owner;
|
||||
|
||||
import static org.hamcrest.Matchers.hasProperty;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.model;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
|
||||
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.Before;
|
||||
|
|
@ -7,18 +16,12 @@ import org.junit.runner.RunWith;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.samples.petclinic.model.Owner;
|
||||
import org.springframework.samples.petclinic.service.ClinicService;
|
||||
import org.springframework.samples.petclinic.owner.Owner;
|
||||
import org.springframework.samples.petclinic.owner.OwnerController;
|
||||
import org.springframework.samples.petclinic.owner.OwnerRepository;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
|
||||
import static org.hamcrest.Matchers.hasProperty;
|
||||
import static org.hamcrest.Matchers.is;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
||||
|
||||
/**
|
||||
* Test class for {@link OwnerController}
|
||||
*
|
||||
|
|
@ -34,7 +37,7 @@ public class OwnerControllerTests {
|
|||
private MockMvc mockMvc;
|
||||
|
||||
@MockBean
|
||||
private ClinicService clinicService;
|
||||
private OwnerRepository owners;
|
||||
|
||||
private Owner george;
|
||||
|
||||
|
|
@ -47,7 +50,7 @@ public class OwnerControllerTests {
|
|||
george.setAddress("110 W. Liberty St.");
|
||||
george.setCity("Madison");
|
||||
george.setTelephone("6085551023");
|
||||
given(this.clinicService.findOwnerById(TEST_OWNER_ID)).willReturn(george);
|
||||
given(this.owners.findById(TEST_OWNER_ID)).willReturn(george);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -94,7 +97,7 @@ public class OwnerControllerTests {
|
|||
|
||||
@Test
|
||||
public void testProcessFindFormSuccess() throws Exception {
|
||||
given(this.clinicService.findOwnerByLastName("")).willReturn(Lists.newArrayList(george, new Owner()));
|
||||
given(this.owners.findByLastName("")).willReturn(Lists.newArrayList(george, new Owner()));
|
||||
mockMvc.perform(get("/owners"))
|
||||
.andExpect(status().isOk())
|
||||
.andExpect(view().name("owners/ownersList"));
|
||||
|
|
@ -102,7 +105,7 @@ public class OwnerControllerTests {
|
|||
|
||||
@Test
|
||||
public void testProcessFindFormByLastName() throws Exception {
|
||||
given(this.clinicService.findOwnerByLastName(george.getLastName())).willReturn(Lists.newArrayList(george));
|
||||
given(this.owners.findByLastName(george.getLastName())).willReturn(Lists.newArrayList(george));
|
||||
mockMvc.perform(get("/owners")
|
||||
.param("lastName", "Franklin")
|
||||
)
|
||||
|
|
@ -1,4 +1,11 @@
|
|||
package org.springframework.samples.petclinic.web;
|
||||
package org.springframework.samples.petclinic.owner;
|
||||
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.model;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
|
||||
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.Before;
|
||||
|
|
@ -9,18 +16,16 @@ import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
|
|||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.context.annotation.FilterType;
|
||||
import org.springframework.samples.petclinic.model.Owner;
|
||||
import org.springframework.samples.petclinic.model.Pet;
|
||||
import org.springframework.samples.petclinic.model.PetType;
|
||||
import org.springframework.samples.petclinic.service.ClinicService;
|
||||
import org.springframework.samples.petclinic.owner.Owner;
|
||||
import org.springframework.samples.petclinic.owner.OwnerRepository;
|
||||
import org.springframework.samples.petclinic.owner.Pet;
|
||||
import org.springframework.samples.petclinic.owner.PetController;
|
||||
import org.springframework.samples.petclinic.owner.PetRepository;
|
||||
import org.springframework.samples.petclinic.owner.PetType;
|
||||
import org.springframework.samples.petclinic.owner.PetTypeFormatter;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
||||
|
||||
/**
|
||||
* Test class for the {@link PetController}
|
||||
*
|
||||
|
|
@ -41,16 +46,19 @@ public class PetControllerTests {
|
|||
private MockMvc mockMvc;
|
||||
|
||||
@MockBean
|
||||
private ClinicService clinicService;
|
||||
private PetRepository pets;
|
||||
|
||||
@MockBean
|
||||
private OwnerRepository owners;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
PetType cat = new PetType();
|
||||
cat.setId(3);
|
||||
cat.setName("hamster");
|
||||
given(this.clinicService.findPetTypes()).willReturn(Lists.newArrayList(cat));
|
||||
given(this.clinicService.findOwnerById(TEST_OWNER_ID)).willReturn(new Owner());
|
||||
given(this.clinicService.findPetById(TEST_PET_ID)).willReturn(new Pet());
|
||||
given(this.pets.findPetTypes()).willReturn(Lists.newArrayList(cat));
|
||||
given(this.owners.findById(TEST_OWNER_ID)).willReturn(new Owner());
|
||||
given(this.pets.findById(TEST_PET_ID)).willReturn(new Pet());
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1,4 +1,12 @@
|
|||
package org.springframework.samples.petclinic.web;
|
||||
package org.springframework.samples.petclinic.owner;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
|
@ -6,13 +14,9 @@ import org.junit.runner.RunWith;
|
|||
import org.mockito.Mock;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.runners.MockitoJUnitRunner;
|
||||
import org.springframework.samples.petclinic.model.PetType;
|
||||
import org.springframework.samples.petclinic.service.ClinicService;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.util.*;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import org.springframework.samples.petclinic.owner.PetRepository;
|
||||
import org.springframework.samples.petclinic.owner.PetType;
|
||||
import org.springframework.samples.petclinic.owner.PetTypeFormatter;
|
||||
|
||||
/**
|
||||
* Test class for {@link PetTypeFormatter}
|
||||
|
|
@ -23,33 +27,33 @@ import static org.junit.Assert.assertEquals;
|
|||
public class PetTypeFormatterTests {
|
||||
|
||||
@Mock
|
||||
private ClinicService clinicService;
|
||||
private PetRepository pets;
|
||||
|
||||
private PetTypeFormatter petTypeFormatter;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
petTypeFormatter = new PetTypeFormatter(clinicService);
|
||||
this.petTypeFormatter = new PetTypeFormatter(pets);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPrint() {
|
||||
PetType petType = new PetType();
|
||||
petType.setName("Hamster");
|
||||
String petTypeName = petTypeFormatter.print(petType, Locale.ENGLISH);
|
||||
String petTypeName = this.petTypeFormatter.print(petType, Locale.ENGLISH);
|
||||
assertEquals("Hamster", petTypeName);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldParse() throws ParseException {
|
||||
Mockito.when(clinicService.findPetTypes()).thenReturn(makePetTypes());
|
||||
Mockito.when(this.pets.findPetTypes()).thenReturn(makePetTypes());
|
||||
PetType petType = petTypeFormatter.parse("Bird", Locale.ENGLISH);
|
||||
assertEquals("Bird", petType.getName());
|
||||
}
|
||||
|
||||
@Test(expected = ParseException.class)
|
||||
public void shouldThrowParseException() throws ParseException {
|
||||
Mockito.when(clinicService.findPetTypes()).thenReturn(makePetTypes());
|
||||
Mockito.when(this.pets.findPetTypes()).thenReturn(makePetTypes());
|
||||
petTypeFormatter.parse("Fish", Locale.ENGLISH);
|
||||
}
|
||||
|
||||
|
|
@ -58,8 +62,8 @@ public class PetTypeFormatterTests {
|
|||
*
|
||||
* @return {@link Collection} of {@link PetType}
|
||||
*/
|
||||
private Collection<PetType> makePetTypes() {
|
||||
Collection<PetType> petTypes = new ArrayList<>();
|
||||
private List<PetType> makePetTypes() {
|
||||
List<PetType> petTypes = new ArrayList<>();
|
||||
petTypes.add(new PetType(){
|
||||
{
|
||||
setName("Dog");
|
||||
|
|
@ -1,4 +1,11 @@
|
|||
package org.springframework.samples.petclinic.web;
|
||||
package org.springframework.samples.petclinic.owner;
|
||||
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.model;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
|
@ -6,16 +13,13 @@ import org.junit.runner.RunWith;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.samples.petclinic.model.Pet;
|
||||
import org.springframework.samples.petclinic.service.ClinicService;
|
||||
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.VisitRepository;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
||||
|
||||
/**
|
||||
* Test class for {@link VisitController}
|
||||
*
|
||||
|
|
@ -31,11 +35,14 @@ public class VisitControllerTests {
|
|||
private MockMvc mockMvc;
|
||||
|
||||
@MockBean
|
||||
private ClinicService clinicService;
|
||||
private VisitRepository visits;
|
||||
|
||||
@MockBean
|
||||
private PetRepository pets;
|
||||
|
||||
@Before
|
||||
public void init() {
|
||||
given(this.clinicService.findPetById(TEST_PET_ID)).willReturn(new Pet());
|
||||
given(this.pets.findById(TEST_PET_ID)).willReturn(new Pet());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -1,21 +1,28 @@
|
|||
package org.springframework.samples.petclinic.service;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
|
||||
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.context.annotation.ComponentScan;
|
||||
import org.springframework.samples.petclinic.model.*;
|
||||
import org.springframework.samples.petclinic.util.EntityUtils;
|
||||
import org.springframework.samples.petclinic.owner.Owner;
|
||||
import org.springframework.samples.petclinic.owner.OwnerRepository;
|
||||
import org.springframework.samples.petclinic.owner.Pet;
|
||||
import org.springframework.samples.petclinic.owner.PetRepository;
|
||||
import org.springframework.samples.petclinic.owner.PetType;
|
||||
import org.springframework.samples.petclinic.vet.Vet;
|
||||
import org.springframework.samples.petclinic.vet.VetRepository;
|
||||
import org.springframework.samples.petclinic.visit.Visit;
|
||||
import org.springframework.samples.petclinic.visit.VisitRepository;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Integration test of the Service and the Repository layer.
|
||||
* <p>
|
||||
|
|
@ -34,6 +41,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
* @author Juergen Hoeller
|
||||
* @author Sam Brannen
|
||||
* @author Michael Isvy
|
||||
* @author Dave Syer
|
||||
*/
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
|
|
@ -41,20 +49,29 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
public class ClinicServiceTests {
|
||||
|
||||
@Autowired
|
||||
protected ClinicService clinicService;
|
||||
protected OwnerRepository owners;
|
||||
|
||||
@Autowired
|
||||
protected PetRepository pets;
|
||||
|
||||
@Autowired
|
||||
protected VisitRepository visits;
|
||||
|
||||
@Autowired
|
||||
protected VetRepository vets;
|
||||
|
||||
@Test
|
||||
public void shouldFindOwnersByLastName() {
|
||||
Collection<Owner> owners = this.clinicService.findOwnerByLastName("Davis");
|
||||
Collection<Owner> owners = this.owners.findByLastName("Davis");
|
||||
assertThat(owners.size()).isEqualTo(2);
|
||||
|
||||
owners = this.clinicService.findOwnerByLastName("Daviss");
|
||||
owners = this.owners.findByLastName("Daviss");
|
||||
assertThat(owners.isEmpty()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldFindSingleOwnerWithPet() {
|
||||
Owner owner = this.clinicService.findOwnerById(1);
|
||||
Owner owner = this.owners.findById(1);
|
||||
assertThat(owner.getLastName()).startsWith("Franklin");
|
||||
assertThat(owner.getPets().size()).isEqualTo(1);
|
||||
assertThat(owner.getPets().get(0).getType()).isNotNull();
|
||||
|
|
@ -64,7 +81,7 @@ public class ClinicServiceTests {
|
|||
@Test
|
||||
@Transactional
|
||||
public void shouldInsertOwner() {
|
||||
Collection<Owner> owners = this.clinicService.findOwnerByLastName("Schultz");
|
||||
Collection<Owner> owners = this.owners.findByLastName("Schultz");
|
||||
int found = owners.size();
|
||||
|
||||
Owner owner = new Owner();
|
||||
|
|
@ -73,31 +90,31 @@ public class ClinicServiceTests {
|
|||
owner.setAddress("4, Evans Street");
|
||||
owner.setCity("Wollongong");
|
||||
owner.setTelephone("4444444444");
|
||||
this.clinicService.saveOwner(owner);
|
||||
this.owners.save(owner);
|
||||
assertThat(owner.getId().longValue()).isNotEqualTo(0);
|
||||
|
||||
owners = this.clinicService.findOwnerByLastName("Schultz");
|
||||
owners = this.owners.findByLastName("Schultz");
|
||||
assertThat(owners.size()).isEqualTo(found + 1);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Transactional
|
||||
public void shouldUpdateOwner() {
|
||||
Owner owner = this.clinicService.findOwnerById(1);
|
||||
Owner owner = this.owners.findById(1);
|
||||
String oldLastName = owner.getLastName();
|
||||
String newLastName = oldLastName + "X";
|
||||
|
||||
owner.setLastName(newLastName);
|
||||
this.clinicService.saveOwner(owner);
|
||||
this.owners.save(owner);
|
||||
|
||||
// retrieving new name from database
|
||||
owner = this.clinicService.findOwnerById(1);
|
||||
owner = this.owners.findById(1);
|
||||
assertThat(owner.getLastName()).isEqualTo(newLastName);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldFindPetWithCorrectId() {
|
||||
Pet pet7 = this.clinicService.findPetById(7);
|
||||
Pet pet7 = this.pets.findById(7);
|
||||
assertThat(pet7.getName()).startsWith("Samantha");
|
||||
assertThat(pet7.getOwner().getFirstName()).isEqualTo("Jean");
|
||||
|
||||
|
|
@ -105,7 +122,7 @@ public class ClinicServiceTests {
|
|||
|
||||
@Test
|
||||
public void shouldFindAllPetTypes() {
|
||||
Collection<PetType> petTypes = this.clinicService.findPetTypes();
|
||||
Collection<PetType> petTypes = this.pets.findPetTypes();
|
||||
|
||||
PetType petType1 = EntityUtils.getById(petTypes, PetType.class, 1);
|
||||
assertThat(petType1.getName()).isEqualTo("cat");
|
||||
|
|
@ -116,21 +133,21 @@ public class ClinicServiceTests {
|
|||
@Test
|
||||
@Transactional
|
||||
public void shouldInsertPetIntoDatabaseAndGenerateId() {
|
||||
Owner owner6 = this.clinicService.findOwnerById(6);
|
||||
Owner owner6 = this.owners.findById(6);
|
||||
int found = owner6.getPets().size();
|
||||
|
||||
Pet pet = new Pet();
|
||||
pet.setName("bowser");
|
||||
Collection<PetType> types = this.clinicService.findPetTypes();
|
||||
Collection<PetType> types = this.pets.findPetTypes();
|
||||
pet.setType(EntityUtils.getById(types, PetType.class, 2));
|
||||
pet.setBirthDate(new Date());
|
||||
owner6.addPet(pet);
|
||||
assertThat(owner6.getPets().size()).isEqualTo(found + 1);
|
||||
|
||||
this.clinicService.savePet(pet);
|
||||
this.clinicService.saveOwner(owner6);
|
||||
this.pets.save(pet);
|
||||
this.owners.save(owner6);
|
||||
|
||||
owner6 = this.clinicService.findOwnerById(6);
|
||||
owner6 = this.owners.findById(6);
|
||||
assertThat(owner6.getPets().size()).isEqualTo(found + 1);
|
||||
// checks that id has been generated
|
||||
assertThat(pet.getId()).isNotNull();
|
||||
|
|
@ -139,20 +156,20 @@ public class ClinicServiceTests {
|
|||
@Test
|
||||
@Transactional
|
||||
public void shouldUpdatePetName() throws Exception {
|
||||
Pet pet7 = this.clinicService.findPetById(7);
|
||||
Pet pet7 = this.pets.findById(7);
|
||||
String oldName = pet7.getName();
|
||||
|
||||
String newName = oldName + "X";
|
||||
pet7.setName(newName);
|
||||
this.clinicService.savePet(pet7);
|
||||
this.pets.save(pet7);
|
||||
|
||||
pet7 = this.clinicService.findPetById(7);
|
||||
pet7 = this.pets.findById(7);
|
||||
assertThat(pet7.getName()).isEqualTo(newName);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldFindVets() {
|
||||
Collection<Vet> vets = this.clinicService.findVets();
|
||||
Collection<Vet> vets = this.vets.findAll();
|
||||
|
||||
Vet vet = EntityUtils.getById(vets, Vet.class, 3);
|
||||
assertThat(vet.getLastName()).isEqualTo("Douglas");
|
||||
|
|
@ -164,27 +181,26 @@ public class ClinicServiceTests {
|
|||
@Test
|
||||
@Transactional
|
||||
public void shouldAddNewVisitForPet() {
|
||||
Pet pet7 = this.clinicService.findPetById(7);
|
||||
Pet pet7 = this.pets.findById(7);
|
||||
int found = pet7.getVisits().size();
|
||||
Visit visit = new Visit();
|
||||
pet7.addVisit(visit);
|
||||
visit.setDescription("test");
|
||||
this.clinicService.saveVisit(visit);
|
||||
this.clinicService.savePet(pet7);
|
||||
this.visits.save(visit);
|
||||
this.pets.save(pet7);
|
||||
|
||||
pet7 = this.clinicService.findPetById(7);
|
||||
pet7 = this.pets.findById(7);
|
||||
assertThat(pet7.getVisits().size()).isEqualTo(found + 1);
|
||||
assertThat(visit.getId()).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldFindVisitsByPetId() throws Exception {
|
||||
Collection<Visit> visits = this.clinicService.findVisitsByPetId(7);
|
||||
Collection<Visit> visits = this.visits.findByPetId(7);
|
||||
assertThat(visits.size()).isEqualTo(2);
|
||||
Visit[] visitArr = visits.toArray(new Visit[visits.size()]);
|
||||
assertThat(visitArr[0].getPet()).isNotNull();
|
||||
assertThat(visitArr[0].getDate()).isNotNull();
|
||||
assertThat(visitArr[0].getPet().getId()).isEqualTo(7);
|
||||
assertThat(visitArr[0].getPetId()).isEqualTo(7);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.samples.petclinic.util;
|
||||
package org.springframework.samples.petclinic.service;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.springframework.samples.petclinic.web;
|
||||
package org.springframework.samples.petclinic.system;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Ignore;
|
||||
|
|
@ -7,6 +7,7 @@ import org.junit.runner.RunWith;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.samples.petclinic.PetClinicApplication;
|
||||
import org.springframework.samples.petclinic.system.CrashController;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.test.context.web.WebAppConfiguration;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
|
|
@ -1,4 +1,13 @@
|
|||
package org.springframework.samples.petclinic.web;
|
||||
package org.springframework.samples.petclinic.vet;
|
||||
|
||||
import static org.hamcrest.xml.HasXPath.hasXPath;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.model;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;
|
||||
|
||||
import org.assertj.core.util.Lists;
|
||||
import org.junit.Before;
|
||||
|
|
@ -8,18 +17,14 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
|
||||
import org.springframework.boot.test.mock.mockito.MockBean;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.samples.petclinic.model.Specialty;
|
||||
import org.springframework.samples.petclinic.model.Vet;
|
||||
import org.springframework.samples.petclinic.service.ClinicService;
|
||||
import org.springframework.samples.petclinic.vet.Specialty;
|
||||
import org.springframework.samples.petclinic.vet.Vet;
|
||||
import org.springframework.samples.petclinic.vet.VetController;
|
||||
import org.springframework.samples.petclinic.vet.VetRepository;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import org.springframework.test.web.servlet.MockMvc;
|
||||
import org.springframework.test.web.servlet.ResultActions;
|
||||
|
||||
import static org.hamcrest.xml.HasXPath.hasXPath;
|
||||
import static org.mockito.BDDMockito.given;
|
||||
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
|
||||
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
|
||||
|
||||
/**
|
||||
* Test class for the {@link VetController}
|
||||
*/
|
||||
|
|
@ -31,7 +36,7 @@ public class VetControllerTests {
|
|||
private MockMvc mockMvc;
|
||||
|
||||
@MockBean
|
||||
private ClinicService clinicService;
|
||||
private VetRepository vets;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
|
|
@ -47,7 +52,7 @@ public class VetControllerTests {
|
|||
radiology.setId(1);
|
||||
radiology.setName("radiology");
|
||||
helen.addSpecialty(radiology);
|
||||
given(this.clinicService.findVets()).willReturn(Lists.newArrayList(james, helen));
|
||||
given(this.vets.findAll()).willReturn(Lists.newArrayList(james, helen));
|
||||
}
|
||||
|
||||
@Test
|
||||
Loading…
Add table
Add a link
Reference in a new issue