mirror of
https://github.com/spring-projects/spring-petclinic.git
synced 2025-07-22 15:55:49 +00:00
Merge pull request #5 from jadmalek/amandaDev
Visit Tests Implementation and Additions
This commit is contained in:
commit
cd2c0c2233
3 changed files with 97 additions and 1 deletions
|
@ -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
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
package org.springframework.samples.petclinic.visit;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
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.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<Visit> 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);
|
||||
//Get the list of visits associated to VISIT_ID
|
||||
visitList = visitRepository.findByPetId(VISIT_ID);
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package org.springframework.samples.petclinic.visit;
|
||||
|
||||
import java.util.Date;
|
||||
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);
|
||||
assertThat(visit.getDate()).isEqualTo(today);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetDescription() {
|
||||
String description = "The greatest visit of all time";
|
||||
visit.setDescription(description);
|
||||
assertThat(visit.getDescription()).isEqualTo(description);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetPetId() {
|
||||
int petId = 1;
|
||||
visit.setPetId(petId);
|
||||
assertThat((int) visit.getPetId()).isEqualTo(petId);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue