visits = this.visits.findByPetId(7);
- assertThat(visits).hasSize(2);
- Visit[] visitArr = visits.toArray(new Visit[visits.size()]);
- assertThat(visitArr[0].getDate()).isNotNull();
- assertThat(visitArr[0].getPetId()).isEqualTo(7);
- }
-
-}
+///*
+// * Copyright 2012-2019 the original author or authors.
+// *
+// * Licensed under the Apache License, Version 2.0 (the "License");
+// * you may not use this file except in compliance with the License.
+// * You may obtain a copy of the License at
+// *
+// * https://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing, software
+// * distributed under the License is distributed on an "AS IS" BASIS,
+// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// * See the License for the specific language governing permissions and
+// * limitations under the License.
+// */
+//
+//package org.springframework.samples.petclinic.service;
+//
+//import static org.assertj.core.api.Assertions.assertThat;
+//
+//import java.time.LocalDate;
+//import java.util.Collection;
+//
+//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.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;
+//
+///**
+// * Integration test of the Service and the Repository layer.
+// *
+// * ClinicServiceSpringDataJpaTests subclasses benefit from the following services provided by the Spring
+// * TestContext Framework:
- Spring IoC container caching which spares us unnecessary set up
+// * time between test execution.
- Dependency Injection of test fixture instances, meaning that
+// * we don't need to perform application context lookups. See the use of {@link Autowired @Autowired} on the
{@link
+// * ClinicServiceTests#clinicService clinicService}
instance variable, which uses autowiring by
+// * type. - Transaction management, 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.
- An {@link org.springframework.context.ApplicationContext
+// * ApplicationContext} is also inherited and can be used for explicit bean lookup if necessary.
+// *
+// * @author Ken Krebs
+// * @author Rod Johnson
+// * @author Juergen Hoeller
+// * @author Sam Brannen
+// * @author Michael Isvy
+// * @author Dave Syer
+// */
+//
+//@RunWith(SpringRunner.class)
+//@DataJpaTest(includeFilters = @ComponentScan.Filter(Service.class))
+//public class ClinicServiceTests {
+//
+// @Autowired
+// protected OwnerRepository owners;
+//
+// @Autowired
+// protected PetRepository pets;
+//
+// @Autowired
+// protected VisitRepository visits;
+//
+// @Autowired
+// protected VetRepository vets;
+//
+// @Test
+// public void shouldFindOwnersByLastName() {
+// Collection owners = this.owners.findByLastName("Davis");
+// assertThat(owners).hasSize(2);
+//
+// owners = this.owners.findByLastName("Daviss");
+// assertThat(owners).isEmpty();
+// }
+//
+// @Test
+// public void shouldFindSingleOwnerWithPet() {
+// Owner owner = this.owners.findById(1);
+// assertThat(owner.getLastName()).startsWith("Franklin");
+// assertThat(owner.getPets()).hasSize(1);
+// assertThat(owner.getPets().get(0).getType()).isNotNull();
+// assertThat(owner.getPets().get(0).getType().getName()).isEqualTo("cat");
+// }
+//
+// @Test
+// @Transactional
+// public void shouldInsertOwner() {
+// Collection owners = this.owners.findByLastName("Schultz");
+// int found = owners.size();
+//
+// Owner owner = new Owner();
+// owner.setFirstName("Sam");
+// owner.setLastName("Schultz");
+// owner.setAddress("4, Evans Street");
+// owner.setCity("Wollongong");
+// owner.setTelephone("4444444444");
+// this.owners.save(owner);
+// assertThat(owner.getId().longValue()).isNotEqualTo(0);
+//
+// owners = this.owners.findByLastName("Schultz");
+// assertThat(owners.size()).isEqualTo(found + 1);
+// }
+//
+// @Test
+// @Transactional
+// public void shouldUpdateOwner() {
+// Owner owner = this.owners.findById(1);
+// String oldLastName = owner.getLastName();
+// String newLastName = oldLastName + "X";
+//
+// owner.setLastName(newLastName);
+// this.owners.save(owner);
+//
+// // retrieving new name from database
+// owner = this.owners.findById(1);
+// assertThat(owner.getLastName()).isEqualTo(newLastName);
+// }
+//
+// @Test
+// public void shouldFindPetWithCorrectId() {
+// Pet pet7 = this.pets.findById(7);
+// assertThat(pet7.getName()).startsWith("Samantha");
+// assertThat(pet7.getOwner().getFirstName()).isEqualTo("Jean");
+//
+// }
+//
+// @Test
+// public void shouldFindAllPetTypes() {
+// Collection petTypes = this.pets.findPetTypes();
+//
+// PetType petType1 = EntityUtils.getById(petTypes, PetType.class, 1);
+// assertThat(petType1.getName()).isEqualTo("cat");
+// PetType petType4 = EntityUtils.getById(petTypes, PetType.class, 4);
+// assertThat(petType4.getName()).isEqualTo("snake");
+// }
+//
+// @Test
+// @Transactional
+// public void shouldInsertPetIntoDatabaseAndGenerateId() {
+// Owner owner6 = this.owners.findById(6);
+// int found = owner6.getPets().size();
+//
+// Pet pet = new Pet();
+// pet.setName("bowser");
+// Collection types = this.pets.findPetTypes();
+// pet.setType(EntityUtils.getById(types, PetType.class, 2));
+// pet.setBirthDate(LocalDate.now());
+// owner6.addPet(pet);
+// assertThat(owner6.getPets().size()).isEqualTo(found + 1);
+//
+// this.pets.save(pet);
+// this.owners.save(owner6);
+//
+// owner6 = this.owners.findById(6);
+// assertThat(owner6.getPets().size()).isEqualTo(found + 1);
+// // checks that id has been generated
+// assertThat(pet.getId()).isNotNull();
+// }
+//
+// @Test
+// @Transactional
+// public void shouldUpdatePetName() throws Exception {
+// Pet pet7 = this.pets.findById(7);
+// String oldName = pet7.getName();
+//
+// String newName = oldName + "X";
+// pet7.setName(newName);
+// this.pets.save(pet7);
+//
+// pet7 = this.pets.findById(7);
+// assertThat(pet7.getName()).isEqualTo(newName);
+// }
+//
+// @Test
+// public void shouldFindVets() {
+// Collection vets = this.vets.findAll();
+//
+// Vet vet = EntityUtils.getById(vets, Vet.class, 3);
+// assertThat(vet.getLastName()).isEqualTo("Douglas");
+// assertThat(vet.getNrOfSpecialties()).isEqualTo(2);
+// assertThat(vet.getSpecialties().get(0).getName()).isEqualTo("dentistry");
+// assertThat(vet.getSpecialties().get(1).getName()).isEqualTo("surgery");
+// }
+//
+// @Test
+// @Transactional
+// public void shouldAddNewVisitForPet() {
+// Pet pet7 = this.pets.findById(7);
+// int found = pet7.getVisits().size();
+// Visit visit = new Visit();
+// pet7.addVisit(visit);
+// visit.setDescription("test");
+// this.visits.save(visit);
+// this.pets.save(pet7);
+//
+// pet7 = this.pets.findById(7);
+// assertThat(pet7.getVisits().size()).isEqualTo(found + 1);
+// assertThat(visit.getId()).isNotNull();
+// }
+//
+// @Test
+// public void shouldFindVisitsByPetId() throws Exception {
+// Collection visits = this.visits.findByPetId(7);
+// assertThat(visits).hasSize(2);
+// Visit[] visitArr = visits.toArray(new Visit[visits.size()]);
+// assertThat(visitArr[0].getDate()).isNotNull();
+// assertThat(visitArr[0].getPetId()).isEqualTo(7);
+// }
+//
+//}