package org.xmx0632.deliciousfruit.api.v1;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.web.client.RestTemplate;
import org.xmx0632.deliciousfruit.api.v1.bo.SettlementRequest;
import org.xmx0632.deliciousfruit.api.v1.bo.SettlementRequest.ShoppingItem;
import org.xmx0632.deliciousfruit.api.v1.bo.SettlementResponse;
import org.xmx0632.deliciousfruit.functional.BaseControllerTestCase;
public class SettlementApiControllerSettlementTest extends
BaseControllerTestCase {
private final RestTemplate restTemplate = new RestTemplate();
private static String url;
@BeforeClass
public static void initUrl() {
url = baseUrl + "/settlement/process";
}
@Test
public void testSettlementSuccess() throws Exception {
HttpHeaders requestHeaders = createHttpHeader("user2", "password");
SettlementRequest settlementRequest = new SettlementRequest();
settlementRequest.setTransactionID("SHOP1000001");
ShoppingItem shoppingItem = new ShoppingItem();
shoppingItem.setProductId("110101");
shoppingItem.setQuantity(2);
ShoppingItem shoppingItem2 = new ShoppingItem();
shoppingItem2.setProductId("110102");
shoppingItem2.setQuantity(2);
settlementRequest.getShoppingList().add(shoppingItem);
settlementRequest.getShoppingList().add(shoppingItem2);
HttpEntity<SettlementRequest> requestEntity = new HttpEntity<SettlementRequest>(
settlementRequest, requestHeaders);
SettlementResponse response = restTemplate.postForObject(url,
requestEntity, SettlementResponse.class);
formatHttpInfoPrint(HttpMethod.POST, url, requestHeaders, "测试结算, 成功",
jsonMapper.toJson(settlementRequest),
jsonMapper.toJson(response));
}
}