Skip to content

Commit e6a7771

Browse files
committed
Fixed #55 - improved RestaurantJpaTest
1 parent b0692cd commit e6a7771

File tree

2 files changed

+28
-18
lines changed

2 files changed

+28
-18
lines changed

ftgo-order-service/src/integration-test/java/net/chrisrichardson/ftgo/orderservice/domain/OrderJpaTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class OrderJpaTest {
2727
@Test
2828
public void shouldSaveAndLoadOrder() {
2929

30-
long orderId = transactionTemplate.execute((ts) -> {
30+
long orderId = transactionTemplate.execute(ts -> {
3131
Order order = new Order(CONSUMER_ID, AJANTA_ID, chickenVindalooLineItems());
3232
orderRepository.save(order);
3333
return order.getId();
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
package net.chrisrichardson.ftgo.orderservice.domain;
22

3-
import net.chrisrichardson.ftgo.orderservice.api.events.OrderState;
43
import org.junit.Test;
54
import org.junit.runner.RunWith;
65
import org.springframework.beans.factory.annotation.Autowired;
76
import org.springframework.boot.test.context.SpringBootTest;
87
import org.springframework.test.context.junit4.SpringRunner;
98
import org.springframework.transaction.support.TransactionTemplate;
109

11-
import static net.chrisrichardson.ftgo.orderservice.OrderDetailsMother.CONSUMER_ID;
12-
import static net.chrisrichardson.ftgo.orderservice.OrderDetailsMother.chickenVindalooLineItems;
13-
import static net.chrisrichardson.ftgo.orderservice.RestaurantMother.AJANTA_ID;
14-
import static net.chrisrichardson.ftgo.orderservice.RestaurantMother.AJANTA_RESTAURANT_MENU_ITEMS;
15-
import static net.chrisrichardson.ftgo.orderservice.RestaurantMother.AJANTA_RESTAURANT_NAME;
10+
import static net.chrisrichardson.ftgo.orderservice.RestaurantMother.*;
1611
import static org.junit.Assert.assertEquals;
17-
import static org.junit.Assert.assertNotNull;
1812

1913
@RunWith(SpringRunner.class)
2014
@SpringBootTest(classes = OrderJpaTestConfiguration.class)
@@ -27,21 +21,37 @@ public class RestaurantJpaTest {
2721
private TransactionTemplate transactionTemplate;
2822

2923
@Test
30-
public void shouldSaveRestaurant() {
24+
public void shouldSaveAndLoadRestaurant() {
25+
long restaurantId = saveRestaurant();
26+
assertEquals(AJANTA_ID, restaurantId);
27+
loadRestaurant(restaurantId);
28+
}
3129

32-
transactionTemplate.execute((ts) -> {
33-
Restaurant restaurant = new Restaurant(AJANTA_ID, AJANTA_RESTAURANT_NAME, AJANTA_RESTAURANT_MENU_ITEMS);
34-
restaurantRepository.save(restaurant);
35-
return null;
36-
});
37-
transactionTemplate.execute((ts) -> {
38-
Restaurant restaurant = new Restaurant(AJANTA_ID, AJANTA_RESTAURANT_NAME, AJANTA_RESTAURANT_MENU_ITEMS);
39-
restaurantRepository.save(restaurant);
30+
@Test
31+
public void shouldSaveRestaurantTwice() {
32+
long restaurantId1 = saveRestaurant();
33+
long restaurantId2 = saveRestaurant();
34+
assertEquals(AJANTA_ID, restaurantId1);
35+
assertEquals(restaurantId1, restaurantId2);
36+
loadRestaurant(restaurantId1);
37+
}
38+
39+
private void loadRestaurant(long restaurantId) {
40+
transactionTemplate.execute(ts -> {
41+
Restaurant restaurant = restaurantRepository.findById(restaurantId).get();
42+
assertEquals(AJANTA_RESTAURANT_NAME, restaurant.getName());
43+
assertEquals(AJANTA_RESTAURANT_MENU_ITEMS, restaurant.getMenuItems());
4044
return null;
4145
});
46+
}
4247

4348

44-
49+
private long saveRestaurant() {
50+
return transactionTemplate.execute((ts) -> {
51+
Restaurant restaurant = new Restaurant(AJANTA_ID, AJANTA_RESTAURANT_NAME, AJANTA_RESTAURANT_MENU_ITEMS);
52+
restaurantRepository.save(restaurant);
53+
return restaurant.getId();
54+
});
4555
}
4656

4757
}

0 commit comments

Comments
 (0)