Skip to content

Commit ed1d544

Browse files
committed
Added first Mockito test
1 parent 5bffde9 commit ed1d544

2 files changed

Lines changed: 80 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.codecentric.sample.store.service;
2+
3+
import com.codecentric.sample.store.model.Item;
4+
import com.codecentric.sample.store.repository.ItemRepository;
5+
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.stereotype.Service;
7+
8+
import java.util.List;
9+
10+
@Service
11+
public class ItemService {
12+
13+
@Autowired
14+
private ItemRepository itemRepository;
15+
16+
17+
public int getAveragePriceForAllItems() {
18+
19+
List<Item> items = itemRepository.readAllItems();
20+
21+
int sumOfPrices = 0;
22+
for (Item item : items) {
23+
sumOfPrices += item.getPriceInCents();
24+
}
25+
26+
return sumOfPrices / items.size();
27+
}
28+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.codecentric.sample.store.service;
2+
3+
import com.codecentric.sample.store.model.Item;
4+
import com.codecentric.sample.store.repository.ItemRepository;
5+
import org.junit.Before;
6+
import org.junit.Test;
7+
import org.mockito.InjectMocks;
8+
import org.mockito.Mock;
9+
import org.mockito.Mockito;
10+
import org.mockito.MockitoAnnotations;
11+
12+
import java.util.ArrayList;
13+
import java.util.List;
14+
15+
import static org.hamcrest.CoreMatchers.is;
16+
import static org.junit.Assert.assertThat;
17+
import static org.mockito.Mockito.atLeast;
18+
import static org.mockito.Mockito.when;
19+
20+
public class ItemServiceTest {
21+
22+
23+
@Mock
24+
private ItemRepository itemRepository;
25+
26+
@InjectMocks
27+
private ItemService itemService;
28+
29+
30+
@Before
31+
public void setUp() throws Exception {
32+
MockitoAnnotations.initMocks(this);
33+
}
34+
35+
36+
@Test
37+
public void calculationOfAveragePriceForAllItems() {
38+
39+
List<Item> mockedItemList = new ArrayList<Item>();
40+
mockedItemList.add(new Item("it1", "Item 1", "This is item 1", 2000, true));
41+
42+
when(itemRepository.readAllItems()).thenReturn(mockedItemList);
43+
int averagePriceForAllItems = itemService.getAveragePriceForAllItems();
44+
45+
Mockito.verify(itemRepository, atLeast(1)).readAllItems();
46+
47+
assertThat(averagePriceForAllItems, is(2000));
48+
}
49+
50+
51+
52+
}

0 commit comments

Comments
 (0)