tdd : picking system - order detail vaildation
This commit is contained in:
@@ -6,7 +6,25 @@ import org.springframework.stereotype.Service;
|
|||||||
@Service
|
@Service
|
||||||
public class OrderDetailServiceImpl implements OrderDetailService {
|
public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
@Override
|
@Override
|
||||||
public OrderDetail createOrderDetail(OrderDetail orderDetail) {
|
public OrderDetail createOrderDetail(OrderDetail orderDetail) throws Exception {
|
||||||
return orderDetail;
|
if (orderDetailValidation(orderDetail)) {
|
||||||
|
// do Something
|
||||||
|
return orderDetail;
|
||||||
|
} else {
|
||||||
|
throw new Exception("orderDetail validation fail");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean orderDetailValidation(OrderDetail orderDetail) {
|
||||||
|
if (orderDetail.getOrderId() == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (orderDetail.getSku() == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (orderDetail.getAmount() < 1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.example.pickingtdd.service;
|
package com.example.pickingtdd.service;
|
||||||
|
|
||||||
import com.example.pickingtdd.entity.OrderDetail;
|
import com.example.pickingtdd.entity.OrderDetail;
|
||||||
|
import com.example.pickingtdd.entity.OrderStateEnum;
|
||||||
import com.example.pickingtdd.entity.Sku;
|
import com.example.pickingtdd.entity.Sku;
|
||||||
import org.junit.jupiter.api.Assertions;
|
import org.junit.jupiter.api.Assertions;
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
@@ -46,4 +47,24 @@ public class OrderDetailServiceTests {
|
|||||||
assertEquals(10, orderDetail.getAmount());
|
assertEquals(10, orderDetail.getAmount());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void orderDetailValidation_success() {
|
||||||
|
OrderDetail orderDetail = new OrderDetail();
|
||||||
|
try {
|
||||||
|
orderDetail = orderDetailService.createOrderDetail(orderDetailSuccess);
|
||||||
|
} catch (Exception e) {
|
||||||
|
fail("should not throw exception");
|
||||||
|
}
|
||||||
|
|
||||||
|
assertEquals(1L, orderDetail.getOrderDetailId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void orderValidation_fail() {
|
||||||
|
Exception e = assertThrows(Exception.class, () -> {
|
||||||
|
orderDetailService.createOrderDetail(orderDetailFail);
|
||||||
|
});
|
||||||
|
|
||||||
|
assertEquals("orderDetail validation fail", e.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ SKU
|
|||||||
|
|
||||||
------- TO-DO -------
|
------- TO-DO -------
|
||||||
[] Order validation 에 OrderDetail 검증 추가
|
[] Order validation 에 OrderDetail 검증 추가
|
||||||
[] OrderDetail validation 추가
|
|
||||||
|
|
||||||
|
[v] OrderDetail validation 추가
|
||||||
[v] OrderDetail 생성
|
[v] OrderDetail 생성
|
||||||
[v] Order.state => enum 변경
|
[v] Order.state => enum 변경
|
||||||
[v] ORDER 검증
|
[v] ORDER 검증
|
||||||
|
|||||||
Reference in New Issue
Block a user