1 package de.spring.webservices.rest.business.service;
3 import static org.mockito.Mockito.mock;
4 import static org.mockito.Mockito.times;
5 import static org.mockito.Mockito.verify;
6 import static org.mockito.Mockito.when;
8 import java.util.ArrayList;
11 import org.junit.Before;
12 import org.junit.Test;
13 import org.mockito.ArgumentCaptor;
15 import de.spring.webservices.domain.Car;
16 import de.spring.webservices.rest.business.service.impl.BusinessServiceImpl;
17 import de.spring.webservices.rest.client.service.CarClientService;
19 public class BusinessServiceTest {
21 private CarClientService carClientService;
22 private BusinessService businessService;
25 public void createTest() {
26 carClientService = mock(CarClientService.class);
27 businessService = new BusinessServiceImpl(carClientService);
31 public void whenDoSomethingWithCarsThenInvokeDoGetCars() {
32 Car expectedOne = new Car(66L, "test");
33 Car expectedTwo = new Car(99L, "example");
34 List<Car> expected = new ArrayList<>();
35 expected.add(expectedOne);
36 expected.add(expectedTwo);
37 when(carClientService.doGetCars()).thenReturn(expected);
39 businessService.doSomethingWithCars();
41 verify(carClientService, times(1)).doGetCars();
45 public void whenDoSomethingWithOneCarhenInvokeDoGetCar() {
47 Car expected = new Car(66L, "test");
49 when(carClientService.doGetCar(id)).thenReturn(expected);
51 businessService.doSomethingWithCar(id);
53 verify(carClientService, times(1)).doGetCar(id);
57 public void whenCreateNewCarThenCreateNewOne() {
58 Car expected = new Car(66L, "test");
59 ArgumentCaptor<Car> argCar = ArgumentCaptor.forClass(Car.class);
61 when(carClientService.doNewCar(argCar.capture())).thenReturn(expected);
63 businessService.createsNewCar();
65 verify(carClientService, times(1)).doNewCar(argCar.getValue());