package io.zipcoder.crudapp; import io.zipcoder.crudapp.models.Person; import io.zipcoder.crudapp.repositories.PersonRepository; import io.zipcoder.crudapp.services.PersonService; 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.web.servlet.WebMvcTest; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.junit4.SpringRunner; import java.util.ArrayList; import java.util.List; import static org.assertj.core.api.Java6Assertions.assertThat; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @SpringBootTest @RunWith(SpringRunner.class) public class PersonServiceTest { List list; Person testPerson = new Person("Test", "Person"); @Before public void setup(){ list = new ArrayList<>(); list.add(testPerson); } @MockBean PersonRepository personRepository; @Autowired PersonService personService; @Test public void testGetPersonList(){ given( this.personRepository.findAll() ).willReturn( list ); Iterable actual = personService.getPersonList(); assertThat(actual) .isEqualTo(list); } @Test public void testGetPersonById(){ given(this.personRepository.findOne(1L) ).willReturn(testPerson); Person actual = personService.getPersonById(1L); assertThat(actual).isEqualTo(testPerson); } @Test public void testSavePerson(){ given(this.personRepository.save(testPerson) ).willReturn(testPerson); Person actual = personService.savePerson(testPerson); assertThat(actual).isEqualTo(testPerson); } @Test public void testDelete(){ personService.deletePerson(1L); verify(personRepository).delete(1L); } }