diff --git a/src/test/java/org/springframework/samples/petclinic/repository/AbstractOwnerRepositoryTests.java b/src/test/java/org/springframework/samples/petclinic/repository/AbstractOwnerRepositoryTests.java index e8330dfcb3c995f9bea13be82638388f6ad51b0c..57a57844f7984487cdf06e07f9ff237b01e48c83 100644 --- a/src/test/java/org/springframework/samples/petclinic/repository/AbstractOwnerRepositoryTests.java +++ b/src/test/java/org/springframework/samples/petclinic/repository/AbstractOwnerRepositoryTests.java @@ -18,6 +18,7 @@ package org.springframework.samples.petclinic.repository; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.samples.petclinic.model.Owner; +import org.springframework.samples.petclinic.service.ClinicService; import org.springframework.test.context.ContextConfiguration; import org.springframework.transaction.annotation.Transactional; @@ -27,13 +28,13 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; /** - * <p> Base class for {@link OwnerRepository} integration tests. </p> <p> Subclasses should specify Spring context + * <p> Base class for {@link clinicService} integration tests. </p> <p> Subclasses should specify Spring context * configuration using {@link ContextConfiguration @ContextConfiguration} annotation </p> <p> - * AbstractOwnerRepositoryTests and its subclasses benefit from the following services provided by the Spring + * AbstractclinicServiceTests and its subclasses benefit from the following services provided by the Spring * TestContext Framework: </p> <ul> <li><strong>Spring IoC container caching</strong> which spares us unnecessary set up * time between test execution.</li> <li><strong>Dependency Injection</strong> of test fixture instances, meaning that * we don't need to perform application context lookups. See the use of {@link Autowired @Autowired} on the <code>{@link - * AbstractOwnerRepositoryTests#ownerRepository ownerRepository}</code> instance variable, which uses autowiring <em>by + * AbstractclinicServiceTests#clinicService clinicService}</code> instance variable, which uses autowiring <em>by * type</em>. <li><strong>Transaction management</strong>, meaning each test method is executed in its own transaction, * which is automatically rolled back by default. Thus, even if tests insert or otherwise change database state, there * is no need for a teardown or cleanup script. <li> An {@link org.springframework.context.ApplicationContext @@ -48,23 +49,22 @@ import static org.junit.Assert.assertTrue; public abstract class AbstractOwnerRepositoryTests { @Autowired - protected OwnerRepository ownerRepository; + protected ClinicService clinicService; @Test @Transactional public void findOwners() { - Collection<Owner> owners = this.ownerRepository.findByLastName("Davis"); + Collection<Owner> owners = this.clinicService.findOwnerByLastName("Davis"); assertEquals(2, owners.size()); - owners = this.ownerRepository.findByLastName("Daviss"); + owners = this.clinicService.findOwnerByLastName("Daviss"); assertEquals(0, owners.size()); } @Test - @Transactional public void findSingleOwner() { - Owner owner1 = this.ownerRepository.findById(1); + Owner owner1 = this.clinicService.findOwnerById(1); assertTrue(owner1.getLastName().startsWith("Franklin")); - Owner owner10 = this.ownerRepository.findById(10); + Owner owner10 = this.clinicService.findOwnerById(10); assertEquals("Carlos", owner10.getFirstName()); assertEquals(owner1.getPets().size(), 1); @@ -73,7 +73,7 @@ public abstract class AbstractOwnerRepositoryTests { @Test @Transactional public void insertOwner() { - Collection<Owner> owners = this.ownerRepository.findByLastName("Schultz"); + Collection<Owner> owners = this.clinicService.findOwnerByLastName("Schultz"); int found = owners.size(); Owner owner = new Owner(); owner.setFirstName("Sam"); @@ -81,19 +81,19 @@ public abstract class AbstractOwnerRepositoryTests { owner.setAddress("4, Evans Street"); owner.setCity("Wollongong"); owner.setTelephone("4444444444"); - this.ownerRepository.save(owner); - owners = this.ownerRepository.findByLastName("Schultz"); + this.clinicService.saveOwner(owner); + owners = this.clinicService.findOwnerByLastName("Schultz"); assertEquals("Verifying number of owners after inserting a new one.", found + 1, owners.size()); } @Test @Transactional public void updateOwner() throws Exception { - Owner o1 = this.ownerRepository.findById(1); + Owner o1 = this.clinicService.findOwnerById(1); String old = o1.getLastName(); o1.setLastName(old + "X"); - this.ownerRepository.save(o1); - o1 = this.ownerRepository.findById(1); + this.clinicService.saveOwner(o1); + o1 = this.clinicService.findOwnerById(1); assertEquals(old + "X", o1.getLastName()); } diff --git a/src/test/java/org/springframework/samples/petclinic/repository/AbstractPetRepositoryTests.java b/src/test/java/org/springframework/samples/petclinic/repository/AbstractPetRepositoryTests.java index 691e07aba4212a199fab315393fd76b39d9321a4..d1c715db020c4b29984efd5463560bf8c4edf91a 100644 --- a/src/test/java/org/springframework/samples/petclinic/repository/AbstractPetRepositoryTests.java +++ b/src/test/java/org/springframework/samples/petclinic/repository/AbstractPetRepositoryTests.java @@ -21,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; 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.util.EntityUtils; import org.springframework.transaction.annotation.Transactional; @@ -42,17 +43,13 @@ import static org.junit.Assert.assertTrue; */ public abstract class AbstractPetRepositoryTests { - @Autowired - protected PetRepository petRepository; - - @Autowired - protected OwnerRepository ownerRepository; + @Autowired + protected ClinicService clinicService; @Test - @Transactional public void getPetTypes() { - Collection<PetType> petTypes = this.petRepository.findPetTypes(); + Collection<PetType> petTypes = this.clinicService.findPetTypes(); PetType petType1 = EntityUtils.getById(petTypes, PetType.class, 1); assertEquals("cat", petType1.getName()); @@ -61,14 +58,13 @@ public abstract class AbstractPetRepositoryTests { } @Test - @Transactional public void findPet() { - Collection<PetType> types = this.petRepository.findPetTypes(); - Pet pet7 = this.petRepository.findById(7); + Collection<PetType> types = this.clinicService.findPetTypes(); + Pet pet7 = this.clinicService.findPetById(7); assertTrue(pet7.getName().startsWith("Samantha")); assertEquals(EntityUtils.getById(types, PetType.class, 1).getId(), pet7.getType().getId()); assertEquals("Jean", pet7.getOwner().getFirstName()); - Pet pet6 = this.petRepository.findById(6); + Pet pet6 = this.clinicService.findPetById(6); assertEquals("George", pet6.getName()); assertEquals(EntityUtils.getById(types, PetType.class, 4).getId(), pet6.getType().getId()); assertEquals("Peter", pet6.getOwner().getFirstName()); @@ -77,30 +73,30 @@ public abstract class AbstractPetRepositoryTests { @Test @Transactional public void insertPet() { - Owner owner6 = this.ownerRepository.findById(6); + Owner owner6 = this.clinicService.findOwnerById(6); int found = owner6.getPets().size(); Pet pet = new Pet(); pet.setName("bowser"); - Collection<PetType> types = this.petRepository.findPetTypes(); + Collection<PetType> types = this.clinicService.findPetTypes(); pet.setType(EntityUtils.getById(types, PetType.class, 2)); pet.setBirthDate(new DateTime()); owner6.addPet(pet); assertEquals(found + 1, owner6.getPets().size()); // both storePet and storeOwner are necessary to cover all ORM tools - this.petRepository.save(pet); - this.ownerRepository.save(owner6); - owner6 = this.ownerRepository.findById(6); + this.clinicService.savePet(pet); + this.clinicService.saveOwner(owner6); + owner6 = this.clinicService.findOwnerById(6); assertEquals(found + 1, owner6.getPets().size()); } @Test @Transactional public void updatePet() throws Exception { - Pet pet7 = this.petRepository.findById(7); + Pet pet7 = this.clinicService.findPetById(7); String old = pet7.getName(); pet7.setName(old + "X"); - this.petRepository.save(pet7); - pet7 = this.petRepository.findById(7); + this.clinicService.savePet(pet7); + pet7 = this.clinicService.findPetById(7); assertEquals(old + "X", pet7.getName()); } diff --git a/src/test/java/org/springframework/samples/petclinic/repository/AbstractVetRepositoryTests.java b/src/test/java/org/springframework/samples/petclinic/repository/AbstractVetRepositoryTests.java index bd906ed55f60065f3abb2662e1873cd965426d52..6e25f9b702c5a7e29ecf42a72cdff5b7778343c0 100644 --- a/src/test/java/org/springframework/samples/petclinic/repository/AbstractVetRepositoryTests.java +++ b/src/test/java/org/springframework/samples/petclinic/repository/AbstractVetRepositoryTests.java @@ -15,15 +15,15 @@ */ package org.springframework.samples.petclinic.repository; +import static org.junit.Assert.assertEquals; + +import java.util.Collection; + import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.samples.petclinic.model.Vet; +import org.springframework.samples.petclinic.service.ClinicService; import org.springframework.samples.petclinic.util.EntityUtils; -import org.springframework.transaction.annotation.Transactional; - -import java.util.Collection; - -import static org.junit.Assert.assertEquals; /** * <p> Base class for {@link OwnerRepository} integration tests. </p> @@ -38,14 +38,13 @@ import static org.junit.Assert.assertEquals; */ public abstract class AbstractVetRepositoryTests { - @Autowired - protected VetRepository vetRepository; + @Autowired + protected ClinicService clinicService; @Test - @Transactional public void findVets() { - Collection<Vet> vets = this.vetRepository.findAll(); + Collection<Vet> vets = this.clinicService.findVets(); Vet v1 = EntityUtils.getById(vets, Vet.class, 2); assertEquals("Leary", v1.getLastName()); diff --git a/src/test/java/org/springframework/samples/petclinic/repository/AbstractVisitRepositoryTests.java b/src/test/java/org/springframework/samples/petclinic/repository/AbstractVisitRepositoryTests.java index 59608789dcabcd591be50148e08ed8db4963a738..0d122a6777cb5b9737060d7c9ff07c1e96aff518 100644 --- a/src/test/java/org/springframework/samples/petclinic/repository/AbstractVisitRepositoryTests.java +++ b/src/test/java/org/springframework/samples/petclinic/repository/AbstractVisitRepositoryTests.java @@ -19,6 +19,7 @@ import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.samples.petclinic.model.Pet; import org.springframework.samples.petclinic.model.Visit; +import org.springframework.samples.petclinic.service.ClinicService; import org.springframework.transaction.annotation.Transactional; import static org.junit.Assert.assertEquals; @@ -36,25 +37,22 @@ import static org.junit.Assert.assertEquals; */ public abstract class AbstractVisitRepositoryTests { - @Autowired - protected VisitRepository visitRepository; - - @Autowired - protected PetRepository petRepository; + @Autowired + protected ClinicService clinicService; @Test @Transactional public void insertVisit() { - Pet pet7 = this.petRepository.findById(7); + Pet pet7 = this.clinicService.findPetById(7); int found = pet7.getVisits().size(); Visit visit = new Visit(); pet7.addVisit(visit); visit.setDescription("test"); // both storeVisit and storePet are necessary to cover all ORM tools - this.visitRepository.save(visit); - this.petRepository.save(pet7); - pet7 = this.petRepository.findById(7); + this.clinicService.saveVisit(visit); + this.clinicService.savePet(pet7); + pet7 = this.clinicService.findPetById(7); assertEquals(found + 1, pet7.getVisits().size()); }