Merge pull request #5 from jadmalek/amandaDev

Visit Tests Implementation and Additions
This commit is contained in:
jadmalek 2018-02-25 09:50:16 -05:00 committed by GitHub
commit cd2c0c2233
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 97 additions and 1 deletions

View file

@ -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
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}