Commit b19c3333 by yangfangfang

退单作废

parent 9064b6c7
......@@ -31,14 +31,14 @@ public class TestDiscard extends XMBaseTest {
public void beforeTest(){
xmAppApi.setApiModule(ApiModule.Polar_Finance)
.setApiName("API_discard")
.setLoginUser(LoginAccount.GYM_PROD)
.setLoginUser(LoginAccount.YFF_PROD)
.setTerminal(Terminal.B);
dal.setCase_owner("yff")
.setCase_name(Thread.currentThread().getStackTrace()[1].getFileName().split("\\.")[0]);
super.beforeTest();
}
@Test(description = "作废签单订单")
@Test(description = "作废退单&签单订单")
public void testDiscard(){
......@@ -95,7 +95,7 @@ public class TestDiscard extends XMBaseTest {
if(limitResult == true) {
//创建订单
//创建签单订单
JSONObject orderResult=orderTools.signOrder(cardId,latestSnapshotId,quantity,price,validPeriod,latestSnapshotId, price/2,"PURCHASE",
"MEMBER_CARD",memberId,price-price/2,price-price/2,"1");
String success=orderResult.getString("success");
......@@ -108,16 +108,21 @@ public class TestDiscard extends XMBaseTest {
throw new RuntimeException(e);
}
//获取订单详情
//获取签单订单详情
JSONObject getDetailResult=orderTools.getDetail(getDetailId);
String id = getDetailResult.getJSONObject("result").getString("id");
String businessNo = getDetailResult.getJSONObject("result").getString("businessNo");
Assert.assertEquals(id.equals(getDetailId),true,"获取创建的订单详情失败");
//校验是否可以作废订单
boolean checkDiscardVoucherResult=orderTools.checkDiscardVoucher(getDetailId).getBoolean("success");
//创建退单订单
//查询要退的卡id 从listUserRefundableCard-查询用户可退的会员卡列表中获取
JSONObject listUserRefundableCardResult=orderTools.listUserRefundableCard("MEMBER","",memberId);
String listUserRefundableId=listUserRefundableCardResult.getJSONArray("result").getJSONObject(0).getString("id");
//查询订单或者收支可退流水金额(包含乐动收银状态信息)
boolean checkRefundableAmountResult=orderTools.checkRefundableAmount(getDetailId,price - price / 2).getBoolean("success");
try {
Thread.sleep(1000);
......@@ -125,19 +130,22 @@ public class TestDiscard extends XMBaseTest {
throw new RuntimeException(e);
}
if(checkDiscardVoucherResult==true){
if(checkRefundableAmountResult == true) {
//退单-会员卡
JSONObject refundOrderResult=orderTools.refundOrder(0,listUserRefundableId,quantity,price - price / 2,"MEMBER_CARD",
memberId,price - price / 2,price - price / 2,"1");
String refundOrderGetDetailId=refundOrderResult.getString("result");
JSONObject discardResult=orderTools.discard(getDetailId,"重复录入","已作废签单订单"+ RandomStringUtil.randomString(10));
String discardSuccess=discardResult.getString("success");
Assert.assertEquals(discardSuccess,"true","签单订单作废失败");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//验证订单状态
//获取订单详情--订单状态:已作废
JSONObject getDetailResult1=orderTools.getDetail(getDetailId);
String state = getDetailResult1.getJSONObject("result").getString("state");
Assert.assertEquals(state,"DISCARD","签单订单作废失败");
//校验是否可以作废退单订单
boolean checkDiscardRefundVoucherResult = orderTools.checkDiscardVoucher(refundOrderGetDetailId).getBoolean("success");
try {
Thread.sleep(1000);
......@@ -145,51 +153,152 @@ public class TestDiscard extends XMBaseTest {
throw new RuntimeException(e);
}
//获取订单支付记录--支付记录被作废
JSONObject listByVoucherIdResult=orderTools.listByVoucherId(getDetailId);
String listByVoucherId=listByVoucherIdResult.getJSONArray("result").getJSONObject(0).getString("id");//收支的id
String listByVoucherState=listByVoucherIdResult.getJSONArray("result").getJSONObject(0).getString("state");
String paymentWayId=listByVoucherIdResult.getJSONArray("result").getJSONObject(0).getJSONObject("paymentWay").getString("id");
Assert.assertEquals(listByVoucherState,"DISCARD","签单订单的支付记录未被作废");
if (checkDiscardRefundVoucherResult == true) {
//获取已作废收支明细
JSONObject pageDiscardIncomeExpenseResult=revenueAndExpenditureTools.pageDiscardIncomeExpense(paymentWayId,"INCOME", "SIGN",
xmAppApi.getLoginInfo().getStudioId());
JSONObject refundDiscardResult = orderTools.discard(refundOrderGetDetailId, "重复录入", "已作废退单订单" + RandomStringUtil.randomString(10));
String refundDiscardSuccess = refundDiscardResult.getString("success");
Assert.assertEquals(refundDiscardSuccess, "true", "退单订单作废失败");
int pageDiscardIncomeExpensePages=Integer.parseInt(pageDiscardIncomeExpenseResult.getJSONObject("result").getString("pages"));
int pageDiscardIncomeExpenseTotal=Integer.parseInt(pageDiscardIncomeExpenseResult.getJSONObject("result").getString("total"));
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//验证退单订单状态
//获取退单订单详情--订单状态:已作废
JSONObject refundGetDetailResult = orderTools.getDetail(refundOrderGetDetailId);
String refundState = refundGetDetailResult.getJSONObject("result").getString("state");
String refundBusinessNo = refundGetDetailResult.getJSONObject("result").getString("businessNo");
Assert.assertEquals(refundState, "DISCARD", "退单订单作废,但退单订单状态未是已作废");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
for(int k=0; k == pageDiscardIncomeExpensePages+1; k++){
int n =k==pageDiscardIncomeExpensePages ? (pageDiscardIncomeExpenseTotal%10==0 ? 10 : pageDiscardIncomeExpenseTotal%10) : 10;
JSONArray records=pageDiscardIncomeExpenseResult.getJSONObject("result").getJSONArray("records");
boolean flag=true;
for(int i=0; i<n; i++){
String pageDiscardIncomeExpenseId=records.getJSONObject(i).getString("id");
if(pageDiscardIncomeExpenseId.equals(listByVoucherId)){
flag = true;
break;
//获取退单订单退款记录--退款记录被作废
JSONObject refundListByVoucherIdResult = orderTools.listByVoucherId(refundOrderGetDetailId);
String refundListByVoucherId = refundListByVoucherIdResult.getJSONArray("result").getJSONObject(0).getString("id");//收支的id
String refundListByVoucherState = refundListByVoucherIdResult.getJSONArray("result").getJSONObject(0).getString("state");
String refundPaymentWayId = refundListByVoucherIdResult.getJSONArray("result").getJSONObject(0).getJSONObject("paymentWay").getString("id");
Assert.assertEquals(refundListByVoucherState, "DISCARD", "退单订单的支付记录未被作废");
//获取已作废收支明细
JSONObject refundPageDiscardIncomeExpenseResult = revenueAndExpenditureTools.pageDiscardIncomeExpense(refundPaymentWayId, "EXPENSE", "REFUND",
xmAppApi.getLoginInfo().getStudioId());
int refundPageDiscardIncomeExpensePages = Integer.parseInt(refundPageDiscardIncomeExpenseResult.getJSONObject("result").getString("pages"));
int refundPageDiscardIncomeExpenseTotal = Integer.parseInt(refundPageDiscardIncomeExpenseResult.getJSONObject("result").getString("total"));
for (int k = 0; k == refundPageDiscardIncomeExpensePages + 1; k++) {
int n = k == refundPageDiscardIncomeExpensePages ? (refundPageDiscardIncomeExpenseTotal % 10 == 0 ? 10 : refundPageDiscardIncomeExpenseTotal % 10) : 10;
JSONArray refundRecords = refundPageDiscardIncomeExpenseResult.getJSONObject("result").getJSONArray("records");
boolean flag = true;
for (int i = 0; i < n; i++) {
String refundPageDiscardIncomeExpenseId = refundRecords.getJSONObject(i).getString("id");
if (refundPageDiscardIncomeExpenseId.equals(refundListByVoucherId)) {
flag = true;
break;
}
}
Assert.assertEquals(true, flag, "退单订单的收支明细未被作废");
}
Assert.assertEquals(true,flag,"签单订单的收支明细未被作废");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取已作废收支详情
JSONObject refundGetResult = revenueAndExpenditureTools.get(refundListByVoucherId);
String refundGetBusinessNo = refundGetResult.getJSONObject("result").getString("businessNo");
String refundGetState = refundGetResult.getJSONObject("result").getString("state");
Assert.assertEquals(refundGetBusinessNo.equals(refundBusinessNo), true, "退单订单的收支明细未被作废");
Assert.assertEquals(refundGetState, "DISCARD", "退单订单的收支明细未被作废");
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//校验是否可以作废签单订单
boolean checkDiscardSignVoucherResult = orderTools.checkDiscardVoucher(getDetailId).getBoolean("success");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取已作废收支详情
JSONObject getResult=revenueAndExpenditureTools.get(listByVoucherId);
String getBusinessNo=getResult.getJSONObject("result").getString("businessNo");
String getState=getResult.getJSONObject("result").getString("state");
if (checkDiscardSignVoucherResult == true) {
Assert.assertEquals(getBusinessNo.equals(businessNo),true,"签单订单的收支明细未被作废");
Assert.assertEquals(getState,"DISCARD","签单订单的收支明细未被作废");
JSONObject discardResult = orderTools.discard(getDetailId, "重复录入", "已作废签单订单" + RandomStringUtil.randomString(10));
String discardSuccess = discardResult.getString("success");
Assert.assertEquals(discardSuccess, "true", "签单订单作废失败");
//验证签单订单状态
//获取签单订单详情--订单状态:已作废
JSONObject getDetailResult1 = orderTools.getDetail(getDetailId);
String state = getDetailResult1.getJSONObject("result").getString("state");
Assert.assertEquals(state, "DISCARD", "签单订单作废,但签单订单状态未是已作废");
}
else {
Assert.assertEquals(checkDiscardVoucherResult, false, "签单订单不能作废");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
//获取签单订单支付记录--支付记录被作废
JSONObject listByVoucherIdResult = orderTools.listByVoucherId(getDetailId);
String listByVoucherId = listByVoucherIdResult.getJSONArray("result").getJSONObject(0).getString("id");//收支的id
String listByVoucherState = listByVoucherIdResult.getJSONArray("result").getJSONObject(0).getString("state");
String paymentWayId = listByVoucherIdResult.getJSONArray("result").getJSONObject(0).getJSONObject("paymentWay").getString("id");
Assert.assertEquals(listByVoucherState, "DISCARD", "签单订单的支付记录未被作废");
//获取已作废收支明细
JSONObject pageDiscardIncomeExpenseResult = revenueAndExpenditureTools.pageDiscardIncomeExpense(paymentWayId, "INCOME", "SIGN",
xmAppApi.getLoginInfo().getStudioId());
int pageDiscardIncomeExpensePages = Integer.parseInt(pageDiscardIncomeExpenseResult.getJSONObject("result").getString("pages"));
int pageDiscardIncomeExpenseTotal = Integer.parseInt(pageDiscardIncomeExpenseResult.getJSONObject("result").getString("total"));
for (int k = 0; k == pageDiscardIncomeExpensePages + 1; k++) {
int n = k == pageDiscardIncomeExpensePages ? (pageDiscardIncomeExpenseTotal % 10 == 0 ? 10 : pageDiscardIncomeExpenseTotal % 10) : 10;
JSONArray records = pageDiscardIncomeExpenseResult.getJSONObject("result").getJSONArray("records");
boolean flag = true;
for (int i = 0; i < n; i++) {
String pageDiscardIncomeExpenseId = records.getJSONObject(i).getString("id");
if (pageDiscardIncomeExpenseId.equals(listByVoucherId)) {
flag = true;
break;
}
}
Assert.assertEquals(true, flag, "签单订单的收支明细未被作废");
}
//获取已作废收支详情
JSONObject getResult = revenueAndExpenditureTools.get(listByVoucherId);
String getBusinessNo = getResult.getJSONObject("result").getString("businessNo");
String getState = getResult.getJSONObject("result").getString("state");
Assert.assertEquals(getBusinessNo.equals(businessNo), true, "签单订单的收支明细未被作废");
Assert.assertEquals(getState, "DISCARD", "签单订单的收支明细未被作废");
}
} else {
Assert.assertEquals(checkDiscardSignVoucherResult, false, "签单订单不能作废");
}
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment