Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xm-sportstest
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiamai-test
xm-sportstest
Commits
09b2585e
Commit
09b2585e
authored
Aug 22, 2024
by
zhangyuxiao
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
c59dd5b0
fe182be9
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
285 additions
and
45 deletions
+285
-45
src/main/java/com/xiaomai/cases/lunar/minMemberCard/MinCardTools.java
+53
-4
src/main/java/com/xiaomai/cases/lunar/order/TestPurchaseByDeposit.java
+134
-0
src/main/java/com/xiaomai/cases/lunar/order/TestPurchaseCard.java
+15
-25
src/main/java/com/xiaomai/cases/lunar/order/TestPurchaseDeposit.java
+24
-8
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
+52
-6
src/main/java/com/xiaomai/cases/polar/reserve/group/TestAddMemberReserve.java
+7
-2
No files found.
src/main/java/com/xiaomai/cases/lunar/minMemberCard/MinCardTools.java
View file @
09b2585e
...
@@ -28,8 +28,8 @@ public class MinCardTools extends XMBaseTest {
...
@@ -28,8 +28,8 @@ public class MinCardTools extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"title"
,
title
);
//卡名称
jsonObject
.
put
(
"title"
,
title
);
//卡名称
jsonObject
.
put
(
"brandId"
,
xmApp
Api
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"brandId"
,
data
Api
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmApp
Api
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"studioId"
,
data
Api
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
return
dataApi
.
getBodyInJSON
();
...
@@ -46,8 +46,8 @@ public class MinCardTools extends XMBaseTest {
...
@@ -46,8 +46,8 @@ public class MinCardTools extends XMBaseTest {
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"title"
,
title
);
//卡名称
jsonObject
.
put
(
"title"
,
title
);
//卡名称
jsonObject
.
put
(
"brandId"
,
xmApp
Api
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"brandId"
,
data
Api
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmApp
Api
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"studioId"
,
data
Api
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"commodityCardType"
,
commodityCardType
);
//枚举:"EXPERIENCE_CARD","DEPOSIT_CARD"
jsonObject
.
put
(
"commodityCardType"
,
commodityCardType
);
//枚举:"EXPERIENCE_CARD","DEPOSIT_CARD"
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
...
@@ -82,4 +82,53 @@ public class MinCardTools extends XMBaseTest {
...
@@ -82,4 +82,53 @@ public class MinCardTools extends XMBaseTest {
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
return
dataApi
.
getBodyInJSON
();
}
}
/**
* 购买会员卡/体验卡时可使用的储值卡
* @param memberId
* @param paymentScenario
* @param userInfo
* @return
*/
public
JSONObject
listUserUsableDepositCard
(
String
memberId
,
String
paymentScenario
,
DataUserInfo
...
userInfo
)
{
setUP
(
"API_listUserUsableDepositCard"
,
userInfo
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"paymentScenario"
,
paymentScenario
);
//卡类型:会员卡"PURCHASE_MEMBER_CARD"、体验卡"PURCHASE_EXPERIENCE_CARD"
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
/**
* 小程序查看储值卡消耗记录
* @param userInfo
* @return
*/
public
JSONObject
fetchPageOfConsumeRecord
(
String
memberCardId
,
String
benefitId
,
DataUserInfo
...
userInfo
)
{
setUP
(
"API_fetchPageOfConsumeRecord"
,
userInfo
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"benefitId"
,
benefitId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
/**
* 小程序查看储值卡详情
* @param userInfo
* @return
*/
public
JSONObject
findMemberCardDetailById
(
String
memberCardId
,
DataUserInfo
...
userInfo
)
{
setUP
(
"API_findMemberCardDetailById"
,
userInfo
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"id"
,
memberCardId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
}
}
src/main/java/com/xiaomai/cases/lunar/order/TestPurchaseByDeposit.java
0 → 100644
View file @
09b2585e
package
com
.
xiaomai
.
cases
.
lunar
.
order
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.lunar.minMemberCard.MinCardTools
;
import
com.xiaomai.cases.lunar.user.UserTools
;
import
com.xiaomai.cases.polar.finance.order.OrderTools
;
import
com.xiaomai.cases.polar.memberCard.CardTools
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.RandomStringUtil
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.DataProvider
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
public
class
TestPurchaseByDeposit
extends
BaseTestImpl
{
@Resource
(
name
=
"userTools"
)
UserTools
userTools
;
@Resource
(
name
=
"minCardTools"
)
MinCardTools
minCardTools
;
@Resource
(
name
=
"cardTools"
)
CardTools
cardTools
;
@Resource
(
name
=
"orderCTools"
)
OrderCTools
orderCTools
;
@Resource
(
name
=
"orderTools"
)
OrderTools
orderTools
;
DataUserInfo
info
=
new
DataUserInfo
();
public
JSONObject
jsonObject
;
public
String
depositCardId
;
public
String
voucherId
;
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Lunar_Order
,
"API_purchaseCard"
,
LoginAccount
.
GYM_MINIAPPC
,
Terminal
.
minApp
,
"xyy"
);
super
.
beforeTest
();
}
@DataProvider
public
Object
[][]
dataProvider
(){
return
new
Object
[][]{
{
"MEMBER_CARD"
,
"PURCHASE_MEMBER_CARD"
},
//会员卡
{
"EXPERIENCE_CARD"
,
"PURCHASE_EXPERIENCE_CARD"
}
//体验卡
};
}
@Test
(
description
=
"C端下单时使用储值卡抵扣"
,
dataProvider
=
"dataProvider"
)
public
void
testPurchaseMemberCardByDeposit
(
String
commodityCardType
,
String
paymentScenario
)
throws
InterruptedException
{
//获取会员信息
String
memberId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
Thread
.
sleep
(
1000
);
//获取第1张售卖中的卡
if
(
commodityCardType
==
"MEMBER_CARD"
){
jsonObject
=
minCardTools
.
fetchOnSaleMemberCard
(
"次卡-自动化"
);
}
else
{
jsonObject
=
minCardTools
.
fetchOnSaleMemberCard
(
"自动化脚本创建体验卡"
,
commodityCardType
);
}
Thread
.
sleep
(
1000
);
//查询卡id跟价格
String
memberCardId
=
XMJSONPath
.
readPath
(
jsonObject
,
"$.result.records[0].id"
);
String
cardSnapshotId
=
XMJSONPath
.
readPath
(
orderCTools
.
findTenantCardDetailById
(
memberCardId
,
memberId
),
"$.result.latestSnapshotId"
);
String
price
=
XMJSONPath
.
readPath
(
orderCTools
.
findTenantCardDetailById
(
memberCardId
,
memberId
),
"$.result.price"
);
//查询是否有可使用的储值卡,如果没有创建1张
int
num
=
XMJSONPath
.
getJSONArrayByReadPath
(
minCardTools
.
listUserUsableDepositCard
(
memberId
,
paymentScenario
),
"$.result.applicableList"
).
size
();
if
(
num
>
0
){
for
(
int
i
=
0
;
i
<
num
-
1
;
i
++)
{
String
leftBalance
=
XMJSONPath
.
readPath
(
minCardTools
.
listUserUsableDepositCard
(
memberId
,
paymentScenario
),
"$.result.applicableList["
+
i
+
"].depositBenefit.leftBalance"
);
//遍历储值卡的可用余额是否大于等于会员卡的价格
if
(
Double
.
parseDouble
(
leftBalance
)
>=
Double
.
parseDouble
(
price
))
{
depositCardId
=
XMJSONPath
.
readPath
(
minCardTools
.
listUserUsableDepositCard
(
memberId
,
paymentScenario
),
"$.result.applicableList["
+
i
+
"].id"
);
break
;
}
}
}
else
{
//切换B端校验
info
.
setTerminal
(
Terminal
.
B
);
info
.
setLoginUser
(
LoginAccount
.
GYM_PROD
);
//查询启用中的储值卡,获取储值卡id
String
cardId
=
XMJSONPath
.
readPath
(
cardTools
.
fetchPageOfMemberCard
(
"DEPOSIT_CARD"
,
info
),
"$.result.records[0].id"
);
//购买1张储值卡
cardTools
.
signOrderDeposit
(
cardId
,
memberId
,
"0.00"
,
"1000.00"
,
info
);
//获取C端第1张可使用的储值卡
depositCardId
=
XMJSONPath
.
readPath
(
minCardTools
.
listUserUsableDepositCard
(
memberId
,
paymentScenario
),
"$.result.applicableList[0].id"
);
}
//查询要使用的储值卡消耗记录条数
String
depositBenefitId
=
XMJSONPath
.
readPath
(
minCardTools
.
findMemberCardDetailById
(
depositCardId
),
"$.result.depositBenefit.id"
);
int
total
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
minCardTools
.
fetchPageOfConsumeRecord
(
depositCardId
,
depositBenefitId
),
"$.result.total"
));
//构建接口参数
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"activatePattern"
,
"FIRST_USED"
);
jsonObject
.
put
(
"cardId"
,
memberCardId
);
jsonObject
.
put
(
"cardSnapshotId"
,
cardSnapshotId
);
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"memo"
,
"自动化使用储值卡抵扣"
);
jsonObject
.
put
(
"receivableAmount"
,
"0.00"
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"objectId"
,
RandomStringUtil
.
randomString
(
16
));
jsonObject
.
put
(
"depositCardId"
,
depositCardId
);
//储值卡id
jsonObject
.
put
(
"depositAmount"
,
price
);
jsonObject
.
put
(
"commodityCardType"
,
commodityCardType
);
// jsonObject.put("activityId",null);//优惠券id
// jsonObject.put("activityAmount",null);//优惠券抵扣金额
//调用请求
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toString
(),
headers
).
assetsSuccess
(
true
);
voucherId
=
xmAppApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getString
(
"voucherId"
);
//订单ID
Thread
.
sleep
(
3000
);
//校验C端订单详情
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
orderCTools
.
getDetail
(
voucherId
),
"$.result.state"
),
"PAID"
,
"创建签单订单成功,但订单状态不是已完成"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
orderCTools
.
getDetail
(
voucherId
),
"$.result.source"
),
"ONLINE_MALL"
,
"C端创建的签单订单,订单来源非会员创建"
);
//检验储值卡的消耗记录新增1条
JSONObject
body
=
minCardTools
.
fetchPageOfConsumeRecord
(
depositCardId
,
depositBenefitId
);
Assert
.
assertTrue
(
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
body
,
"$.result.total"
))==
total
+
1
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
body
,
"$.result.records[0].consumeType"
),
"DEPOSIT_SIGN_ORDER"
);
//消耗类型:签单
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
body
,
"$.result.records[0].changeOfGiveBalance"
),
"-"
+
price
);
//消耗赠送金额
//切换B端校验
info
.
setTerminal
(
Terminal
.
B
);
info
.
setLoginUser
(
LoginAccount
.
GYM_PROD
);
//作废订单
orderTools
.
discard
(
voucherId
,
"其他"
,
"自动化作废订单"
,
info
);
}
}
src/main/java/com/xiaomai/cases/lunar/order/TestPurchaseCard.java
View file @
09b2585e
...
@@ -17,23 +17,24 @@ import org.testng.Assert;
...
@@ -17,23 +17,24 @@ import org.testng.Assert;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
public
class
TestPurchaseCard
extends
BaseTestImpl
{
public
class
TestPurchaseCard
extends
BaseTestImpl
{
@Resource
(
name
=
"userTools"
)
UserTools
userTools
;
@Resource
(
name
=
"minCardTools"
)
MinCardTools
minCardTools
;
@Resource
(
name
=
"cardTools"
)
CardTools
cardTools
;
@Resource
(
name
=
"orderCTools"
)
OrderCTools
orderCTools
;
@Resource
(
name
=
"orderTools"
)
OrderTools
orderTools
;
DataUserInfo
dataUserInfo
=
new
DataUserInfo
();
String
memberId
;
public
String
memberId
;
public
String
cardId
;
String
cardId
;
MinCardTools
minCardTools
=
new
MinCardTools
();
UserTools
userTools
=
new
UserTools
();
OrderCTools
orderCTools
=
new
OrderCTools
();
OrderTools
orderTools
=
new
OrderTools
();
CardTools
cardTools
=
new
CardTools
();
@BeforeMethod
@BeforeMethod
@Override
@Override
...
@@ -45,7 +46,6 @@ public class TestPurchaseCard extends BaseTestImpl {
...
@@ -45,7 +46,6 @@ public class TestPurchaseCard extends BaseTestImpl {
@Test
(
description
=
"C端购买订单"
)
@Test
(
description
=
"C端购买订单"
)
public
void
testPurchaseCard
(){
public
void
testPurchaseCard
(){
//获取会员信息
//获取会员信息
memberId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
memberId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
...
@@ -56,7 +56,7 @@ public class TestPurchaseCard extends BaseTestImpl {
...
@@ -56,7 +56,7 @@ public class TestPurchaseCard extends BaseTestImpl {
}
}
//获取会员卡
//获取会员卡
cardId
=
minCardTools
.
fetchOnSaleMemberCard
(
"C端0元会员卡自动化"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
cardId
=
minCardTools
.
fetchOnSaleMemberCard
(
"C端0元会员卡自动化"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
try
{
try
{
Thread
.
sleep
(
1000
);
Thread
.
sleep
(
1000
);
...
@@ -88,7 +88,6 @@ public class TestPurchaseCard extends BaseTestImpl {
...
@@ -88,7 +88,6 @@ public class TestPurchaseCard extends BaseTestImpl {
//校验C端订单详情
//校验C端订单详情
JSONObject
getDetail
=
orderCTools
.
getDetail
(
signId
);
JSONObject
getDetail
=
orderCTools
.
getDetail
(
signId
);
String
getDetailId
=
getDetail
.
getJSONObject
(
"result"
).
getString
(
"id"
);
String
getDetailId
=
getDetail
.
getJSONObject
(
"result"
).
getString
(
"id"
);
String
getDetailBusinessNo
=
getDetail
.
getJSONObject
(
"result"
).
getString
(
"businessNo"
);
String
getDetailBusinessNo
=
getDetail
.
getJSONObject
(
"result"
).
getString
(
"businessNo"
);
...
@@ -102,7 +101,6 @@ public class TestPurchaseCard extends BaseTestImpl {
...
@@ -102,7 +101,6 @@ public class TestPurchaseCard extends BaseTestImpl {
//校验C端订单列表
//校验C端订单列表
JSONObject
pageOrder
=
orderCTools
.
pageOrder
(
memberId
);
JSONObject
pageOrder
=
orderCTools
.
pageOrder
(
memberId
);
int
pageOrderPages
=
Integer
.
parseInt
(
pageOrder
.
getJSONObject
(
"result"
).
getString
(
"pages"
));
int
pageOrderPages
=
Integer
.
parseInt
(
pageOrder
.
getJSONObject
(
"result"
).
getString
(
"pages"
));
int
pageOrderTotal
=
Integer
.
parseInt
(
pageOrder
.
getJSONObject
(
"result"
).
getString
(
"total"
));
int
pageOrderTotal
=
Integer
.
parseInt
(
pageOrder
.
getJSONObject
(
"result"
).
getString
(
"total"
));
...
@@ -130,8 +128,6 @@ public class TestPurchaseCard extends BaseTestImpl {
...
@@ -130,8 +128,6 @@ public class TestPurchaseCard extends BaseTestImpl {
}
}
//切换B端校验
//切换B端校验
DataUserInfo
dataUserInfo
=
new
DataUserInfo
();
dataUserInfo
.
setTerminal
(
Terminal
.
B
);
dataUserInfo
.
setTerminal
(
Terminal
.
B
);
dataUserInfo
.
setLoginUser
(
LoginAccount
.
GYM_PROD
);
dataUserInfo
.
setLoginUser
(
LoginAccount
.
GYM_PROD
);
...
@@ -157,7 +153,6 @@ public class TestPurchaseCard extends BaseTestImpl {
...
@@ -157,7 +153,6 @@ public class TestPurchaseCard extends BaseTestImpl {
Assert
.
assertEquals
(
getDetailBBusinessNo
.
equals
(
getDetailBusinessNo
),
true
,
"C端创建的签单订单在B端和C端展示的订单号不一致"
);
Assert
.
assertEquals
(
getDetailBBusinessNo
.
equals
(
getDetailBusinessNo
),
true
,
"C端创建的签单订单在B端和C端展示的订单号不一致"
);
Assert
.
assertEquals
(
getDetailBSource
,
"ONLINE_MALL"
,
"C端创建的签单订单,B端展示订单来源非会员创建"
);
Assert
.
assertEquals
(
getDetailBSource
,
"ONLINE_MALL"
,
"C端创建的签单订单,B端展示订单来源非会员创建"
);
try
{
try
{
Thread
.
sleep
(
1000
);
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
}
catch
(
InterruptedException
e
)
{
...
@@ -177,7 +172,6 @@ public class TestPurchaseCard extends BaseTestImpl {
...
@@ -177,7 +172,6 @@ public class TestPurchaseCard extends BaseTestImpl {
Assert
.
assertEquals
(
findDetailByIdTradeOrderNumber
.
equals
(
getDetailBBusinessNo
),
true
,
"创建C端已完成订单,未生成卡包"
);
//断言的别意:生成的卡包的订单号和上述创建订单的订单号一致不一致的校验
Assert
.
assertEquals
(
findDetailByIdTradeOrderNumber
.
equals
(
getDetailBBusinessNo
),
true
,
"创建C端已完成订单,未生成卡包"
);
//断言的别意:生成的卡包的订单号和上述创建订单的订单号一致不一致的校验
Assert
.
assertEquals
(
findDetailByIdState
,
"NORMAL"
,
"创建即时生效的已完成订单,未生成生效中卡包"
);
Assert
.
assertEquals
(
findDetailByIdState
,
"NORMAL"
,
"创建即时生效的已完成订单,未生成生效中卡包"
);
//B端退C端订单
//B端退C端订单
try
{
try
{
...
@@ -187,13 +181,11 @@ public class TestPurchaseCard extends BaseTestImpl {
...
@@ -187,13 +181,11 @@ public class TestPurchaseCard extends BaseTestImpl {
}
}
//查询要退的卡id 从listUserRefundableCard-查询用户可退的会员卡列表中获取
//查询要退的卡id 从listUserRefundableCard-查询用户可退的会员卡列表中获取
JSONObject
listUserRefundableCardResult
=
orderTools
.
listUserRefundableCard
(
"MEMBER"
,
""
,
getDetailBmemberId
,
dataUserInfo
);
JSONObject
listUserRefundableCardResult
=
orderTools
.
listUserRefundableCard
(
"MEMBER"
,
""
,
getDetailBmemberId
,
dataUserInfo
);
String
listUserRefundableId
=
listUserRefundableCardResult
.
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
String
listUserRefundableId
=
listUserRefundableCardResult
.
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
"id"
);
//查询订单或者收支可退流水金额(包含乐动收银状态信息)
//查询订单或者收支可退流水金额(包含乐动收银状态信息)
boolean
checkRefundableAmountResult
=
orderTools
.
checkRefundableAmount
(
getDetailBId
,
0
,
dataUserInfo
).
getBoolean
(
"success"
);
boolean
checkRefundableAmountResult
=
orderTools
.
checkRefundableAmount
(
getDetailBId
,
0
,
dataUserInfo
).
getBoolean
(
"success"
);
if
(
checkRefundableAmountResult
==
true
)
{
if
(
checkRefundableAmountResult
==
true
)
{
...
@@ -209,6 +201,4 @@ public class TestPurchaseCard extends BaseTestImpl {
...
@@ -209,6 +201,4 @@ public class TestPurchaseCard extends BaseTestImpl {
}
}
}
}
src/main/java/com/xiaomai/cases/lunar/order/TestPurchaseDeposit.java
View file @
09b2585e
...
@@ -3,6 +3,7 @@ package com.xiaomai.cases.lunar.order;
...
@@ -3,6 +3,7 @@ package com.xiaomai.cases.lunar.order;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.lunar.minMemberCard.MinCardTools
;
import
com.xiaomai.cases.lunar.minMemberCard.MinCardTools
;
import
com.xiaomai.cases.lunar.user.UserTools
;
import
com.xiaomai.cases.lunar.user.UserTools
;
import
com.xiaomai.cases.polar.finance.order.OrderTools
;
import
com.xiaomai.cases.polar.memberCard.CardTools
;
import
com.xiaomai.cases.polar.memberCard.CardTools
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.ApiModule
;
...
@@ -27,6 +28,8 @@ public class TestPurchaseDeposit extends XMBaseTest {
...
@@ -27,6 +28,8 @@ public class TestPurchaseDeposit extends XMBaseTest {
CardTools
cardTools
;
CardTools
cardTools
;
@Resource
(
name
=
"orderCTools"
)
@Resource
(
name
=
"orderCTools"
)
OrderCTools
orderCTools
;
OrderCTools
orderCTools
;
@Resource
(
name
=
"orderTools"
)
OrderTools
orderTools
;
DataUserInfo
info
=
new
DataUserInfo
();
DataUserInfo
info
=
new
DataUserInfo
();
public
String
memberId
;
public
String
memberId
;
...
@@ -55,16 +58,15 @@ public class TestPurchaseDeposit extends XMBaseTest {
...
@@ -55,16 +58,15 @@ public class TestPurchaseDeposit extends XMBaseTest {
int
num
=
XMJSONPath
.
getJSONArrayByReadPath
(
cardTools
.
tenantMemberCardCommonSearch
(
"DEPOSIT_CARD"
,
"0元储值卡"
,
info
),
"$.result"
).
size
();
int
num
=
XMJSONPath
.
getJSONArrayByReadPath
(
cardTools
.
tenantMemberCardCommonSearch
(
"DEPOSIT_CARD"
,
"0元储值卡"
,
info
),
"$.result"
).
size
();
//如果没有0元储值卡创建1张
//如果没有0元储值卡创建1张
if
(
num
==
0
){
if
(
num
==
0
){
cardTools
.
depositCardCreate
(
"0元储值卡"
+
RandomStringUtil
.
randomString
(
4
),
"0
"
,
"1
0"
,
info
);
cardTools
.
depositCardCreate
(
"0元储值卡"
+
RandomStringUtil
.
randomString
(
4
),
"0
.00"
,
"100.0
0"
,
info
);
}
}
//获取会员信息
//获取会员信息
memberId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
memberId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
//查询会员名下的卡包数量
//查询会员名下的卡包数量
int
cardNum
=
minCardTools
.
countMyUsableCard
(
memberId
);
int
cardNum
=
minCardTools
.
countMyUsableCard
(
memberId
);
//查询会员名下的订单数量
int
orderNum
=
XMJSONPath
.
getJSONArrayByReadPath
(
orderCTools
.
pageOrder
(
memberId
),
"$.result.records"
).
size
();
//获取1张0元储值卡id
//获取1张0元储值卡id
cardId
=
minCardTools
.
fetchOnSaleMemberCard
(
"0元储值卡"
,
"DEPOSIT_CARD"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
cardId
=
minCardTools
.
fetchOnSaleMemberCard
(
"0元储值卡"
,
"DEPOSIT_CARD"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
String
cardSnapshotId
=
XMJSONPath
.
readPath
(
orderCTools
.
findTenantCardDetailById
(
cardId
,
memberId
),
"$.result.latestSnapshotId"
);
cardName
=
minCardTools
.
fetchOnSaleMemberCard
(
"0元储值卡"
,
"DEPOSIT_CARD"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"title"
);
cardName
=
minCardTools
.
fetchOnSaleMemberCard
(
"0元储值卡"
,
"DEPOSIT_CARD"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"title"
);
//确认订单页
//确认订单页
orderCTools
.
findTenantCardDetailById
(
cardId
,
null
);
orderCTools
.
findTenantCardDetailById
(
cardId
,
null
);
...
@@ -73,10 +75,10 @@ public class TestPurchaseDeposit extends XMBaseTest {
...
@@ -73,10 +75,10 @@ public class TestPurchaseDeposit extends XMBaseTest {
JSONObject
jsonObject
=
new
JSONObject
();
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"activatePattern"
,
"PURCHASE"
);
jsonObject
.
put
(
"activatePattern"
,
"PURCHASE"
);
jsonObject
.
put
(
"cardId"
,
cardId
);
jsonObject
.
put
(
"cardId"
,
cardId
);
jsonObject
.
put
(
"cardSnapshotId"
,
cardId
);
jsonObject
.
put
(
"cardSnapshotId"
,
card
Snapshot
Id
);
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"memo"
,
"自动化C端购买储值卡"
);
jsonObject
.
put
(
"memo"
,
"自动化C端购买储值卡"
);
jsonObject
.
put
(
"receivableAmount"
,
0
);
jsonObject
.
put
(
"receivableAmount"
,
"0.00"
);
jsonObject
.
put
(
"commodityCardType"
,
"DEPOSIT_CARD"
);
jsonObject
.
put
(
"commodityCardType"
,
"DEPOSIT_CARD"
);
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"objectId"
,
RandomStringUtil
.
randomString
(
16
));
jsonObject
.
put
(
"objectId"
,
RandomStringUtil
.
randomString
(
16
));
...
@@ -90,9 +92,6 @@ public class TestPurchaseDeposit extends XMBaseTest {
...
@@ -90,9 +92,6 @@ public class TestPurchaseDeposit extends XMBaseTest {
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
orderCTools
.
getDetail
(
orderId
),
"$.result.voucherItems[0].purchaseDepositSkuAttr.skuName"
),
cardName
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
orderCTools
.
getDetail
(
orderId
),
"$.result.voucherItems[0].purchaseDepositSkuAttr.skuName"
),
cardName
);
String
skuId
=
XMJSONPath
.
readPath
(
orderCTools
.
getDetail
(
orderId
),
"$.result.voucherItems[0].skuId"
);
String
skuId
=
XMJSONPath
.
readPath
(
orderCTools
.
getDetail
(
orderId
),
"$.result.voucherItems[0].skuId"
);
Thread
.
sleep
(
1000
);
//check我的订单列表数据+1
// Assert.assertTrue(Integer.parseInt(XMJSONPath.readPath(orderCTools.pageOrder(memberId),"$.result.total") )== orderNum + 1);
//check我的卡包数据+1
//check我的卡包数据+1
Thread
.
sleep
(
1000
);
Thread
.
sleep
(
1000
);
Assert
.
assertTrue
(
minCardTools
.
countMyUsableCard
(
memberId
)
==
cardNum
+
1
);
Assert
.
assertTrue
(
minCardTools
.
countMyUsableCard
(
memberId
)
==
cardNum
+
1
);
...
@@ -101,4 +100,21 @@ public class TestPurchaseDeposit extends XMBaseTest {
...
@@ -101,4 +100,21 @@ public class TestPurchaseDeposit extends XMBaseTest {
JSONObject
object
=
minCardTools
.
getMyMemberCardList
(
true
,
memberId
,
"DEPOSIT"
);
JSONObject
object
=
minCardTools
.
getMyMemberCardList
(
true
,
memberId
,
"DEPOSIT"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
object
,
"$.result[0].tenantMemberCardId"
),
skuId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
object
,
"$.result[0].tenantMemberCardId"
),
skuId
);
}
}
@Test
(
description
=
"数据清理"
,
priority
=
1
)
public
void
clearData
(){
info
.
setTerminal
(
Terminal
.
B
);
info
.
setLoginUser
(
LoginAccount
.
GYM_PROD
);
//作废订单
orderTools
.
discard
(
orderId
,
"其他"
,
"自动化作废订单"
,
info
);
//check储值卡状态为已作废
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
cardTools
.
memberCardFindDetailById
(
cardId
,
info
),
"$.result.state"
),
"DISCARD"
);
//check剩余金额=0
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
cardTools
.
memberCardFindDetailById
(
cardId
,
info
),
"$.result.leftBalance"
),
"0.00"
);
//check消耗记录有1条作废订单记录
String
benefitId
=
XMJSONPath
.
readPath
(
cardTools
.
memberCardFindDetailById
(
cardId
,
info
),
"$.result.depositBenefit.id"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
cardId
,
info
),
"$.result.records[0].consumeType"
).
equals
(
"DISCARD_ORDER"
),
"作废订单,消耗记录第一条操作类型"
);
}
}
}
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
View file @
09b2585e
...
@@ -14,6 +14,7 @@ import org.springframework.stereotype.Component;
...
@@ -14,6 +14,7 @@ import org.springframework.stereotype.Component;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.UUID
;
@Component
(
"cardTools"
)
@Component
(
"cardTools"
)
public
class
CardTools
extends
XMBaseTest
{
public
class
CardTools
extends
XMBaseTest
{
...
@@ -48,7 +49,7 @@ public class CardTools extends XMBaseTest {
...
@@ -48,7 +49,7 @@ public class CardTools extends XMBaseTest {
Object
.
put
(
"defaultConsumeBalance"
,
1
);
Object
.
put
(
"defaultConsumeBalance"
,
1
);
//Object.put("itemList", itemList);
//Object.put("itemList", itemList);
Object
.
put
(
"targetType"
,
"COURSE"
);
Object
.
put
(
"targetType"
,
"COURSE"
);
Object
.
put
(
"price"
,
"1"
);
Object
.
put
(
"price"
,
"1"
);
benefitList
.
add
(
Object
);
benefitList
.
add
(
Object
);
...
@@ -70,7 +71,7 @@ public class CardTools extends XMBaseTest {
...
@@ -70,7 +71,7 @@ public class CardTools extends XMBaseTest {
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"description"
,
"{\"items\":[{\"content\":\"自动化创建的卡\",\"aspect\":\"\",\"type\":\"TEXT\"}]}"
);
jsonObject
.
put
(
"description"
,
"{\"items\":[{\"content\":\"自动化创建的卡\",\"aspect\":\"\",\"type\":\"TEXT\"}]}"
);
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"commodityCardType"
,
"MEMBER_CARD"
);
jsonObject
.
put
(
"commodityCardType"
,
"MEMBER_CARD"
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
return
dataApi
.
getBodyInJSON
();
...
@@ -81,7 +82,7 @@ public class CardTools extends XMBaseTest {
...
@@ -81,7 +82,7 @@ public class CardTools extends XMBaseTest {
* @description:创建储值卡
* @description:创建储值卡
* @author: xyy
* @author: xyy
**/
**/
public
JSONObject
depositCardCreate
(
String
title
,
String
price
,
String
balance
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
depositCardCreate
(
String
title
,
String
price
,
String
balance
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_tenantMemberCard_create"
)
.
setApiName
(
"API_tenantMemberCard_create"
)
...
@@ -100,11 +101,11 @@ public class CardTools extends XMBaseTest {
...
@@ -100,11 +101,11 @@ public class CardTools extends XMBaseTest {
benefitObject
.
put
(
"identifier"
,
RandomStringUtil
.
randomString
(
20
));
benefitObject
.
put
(
"identifier"
,
RandomStringUtil
.
randomString
(
20
));
benefitObject
.
put
(
"balance"
,
balance
);
//赠送金额
benefitObject
.
put
(
"balance"
,
balance
);
//赠送金额
benefitObject
.
put
(
"benefitType"
,
"STORED_VALUE"
);
benefitObject
.
put
(
"benefitType"
,
"STORED_VALUE"
);
benefitObject
.
put
(
"price"
,
price
);
//实充金额
benefitObject
.
put
(
"price"
,
price
);
//实充金额
benefitObject
.
put
(
"targetType"
,
"PAYMENT"
);
benefitObject
.
put
(
"targetType"
,
"PAYMENT"
);
benefitObject
.
put
(
"targetScope"
,
"PAYMENT_SPECIFIC_SCENARIO"
);
benefitObject
.
put
(
"targetScope"
,
"PAYMENT_SPECIFIC_SCENARIO"
);
benefitObject
.
put
(
"paymentScenarioList"
,
paymentScenarioList
);
benefitObject
.
put
(
"paymentScenarioList"
,
paymentScenarioList
);
benefitObject
.
put
(
"accountType"
,
"DEPOSIT"
);
benefitObject
.
put
(
"accountType"
,
"DEPOSIT"
);
benefitList
.
add
(
benefitObject
);
benefitList
.
add
(
benefitObject
);
JSONObject
jsonObject
=
new
JSONObject
();
JSONObject
jsonObject
=
new
JSONObject
();
...
@@ -130,6 +131,51 @@ public class CardTools extends XMBaseTest {
...
@@ -130,6 +131,51 @@ public class CardTools extends XMBaseTest {
return
dataApi
.
getBodyInJSON
();
return
dataApi
.
getBodyInJSON
();
}
}
/**
* b端购买储值卡
* @param dataUserInfos
* @return
*/
public
void
signOrderDeposit
(
String
depositCardId
,
String
memberId
,
String
rechargeAmount
,
String
giftAmount
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_signOrderDeposit"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
cardChange
=
new
JSONObject
();
cardChange
.
put
(
"validPeriod"
,
"10"
);
//有效期10天
cardChange
.
put
(
"giftAmount"
,
giftAmount
);
//赠送金额
cardChange
.
put
(
"rechargeAmount"
,
rechargeAmount
);
//实充金额
JSONObject
card
=
new
JSONObject
();
card
.
put
(
"cardId"
,
depositCardId
);
card
.
put
(
"cardSnapshotId"
,
depositCardId
);
card
.
put
(
"cardChange"
,
cardChange
);
card
.
put
(
"commodityCardType"
,
"DEPOSIT_CARD"
);
JSONArray
paymentWays
=
new
JSONArray
();
JSONObject
pay
=
new
JSONObject
();
pay
.
put
(
"amount"
,
rechargeAmount
);
//实收金额
pay
.
put
(
"paymentWay"
,
"1"
);
pay
.
put
(
"voucherResourceIds"
,
new
JSONArray
());
paymentWays
.
add
(
pay
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"salesmanId"
,
dataApi
.
getLoginInfo
().
getAdminId
()
);
jsonObject
.
put
(
"operationTime"
,
TimeUtils
.
getCurrentTime
());
jsonObject
.
put
(
"supplierInnerMemo"
,
"对内备注-自动化生成"
);
jsonObject
.
put
(
"supplierMemo"
,
"对外备注-自动化生成"
);
jsonObject
.
put
(
"card"
,
card
);
jsonObject
.
put
(
"objectId"
,
UUID
.
randomUUID
().
toString
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"receivableAmount"
,
rechargeAmount
);
//应收金额
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"paymentWays"
,
paymentWays
);
//支付方式
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
/**
/**
* 快速创建会员卡次卡-存量数据: 嘟嘟创建的会员卡-次卡
* 快速创建会员卡次卡-存量数据: 嘟嘟创建的会员卡-次卡
...
...
src/main/java/com/xiaomai/cases/polar/reserve/group/TestAddMemberReserve.java
View file @
09b2585e
...
@@ -231,8 +231,9 @@ public class TestAddMemberReserve extends BaseTestImpl {
...
@@ -231,8 +231,9 @@ public class TestAddMemberReserve extends BaseTestImpl {
public
void
testAddMemberReserve3
(){
public
void
testAddMemberReserve3
(){
// 修改课次人数上限为1
// 修改课次人数上限为1
groupScheduleTools
.
editGroupSchedule
(
scheduleId
,
startTime
,
xmAppApi
.
getLoginInfo
().
getAdminId
(),
1
,
1
);
groupScheduleTools
.
editGroupSchedule
(
scheduleId
,
startTime
,
xmAppApi
.
getLoginInfo
().
getAdminId
(),
1
,
1
);
try
{
try
{
Thread
.
sleep
(
2
000
);
Thread
.
sleep
(
3
000
);
}
catch
(
InterruptedException
e
)
{
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
throw
new
RuntimeException
(
e
);
}
}
...
@@ -242,7 +243,11 @@ public class TestAddMemberReserve extends BaseTestImpl {
...
@@ -242,7 +243,11 @@ public class TestAddMemberReserve extends BaseTestImpl {
Random
random
=
new
Random
();
Random
random
=
new
Random
();
int
bookingSeatCount
=
random
.
nextInt
(
10
)+
1
;
// 席位
int
bookingSeatCount
=
random
.
nextInt
(
10
)+
1
;
// 席位
ruleTools
.
saveGroupBookingRules
(
id
,
false
,
bookingSeatCount
,
true
,
true
,
random
.
nextInt
(
30
)+
10
,
true
,
random
.
nextInt
(
100
)+
10
,
random
.
nextInt
(
5
)+
1
,
true
,
random
.
nextInt
(
100
)+
10
,
"minutes"
,
true
,
random
.
nextInt
(
100
)+
10
,
"minutes"
);
ruleTools
.
saveGroupBookingRules
(
id
,
false
,
bookingSeatCount
,
true
,
true
,
random
.
nextInt
(
30
)+
10
,
true
,
random
.
nextInt
(
100
)+
10
,
random
.
nextInt
(
5
)+
1
,
true
,
random
.
nextInt
(
100
)+
10
,
"minutes"
,
true
,
random
.
nextInt
(
100
)+
10
,
"minutes"
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// 新学员 购买卡
// 新学员 购买卡
String
memberId2
=
""
;
String
memberId2
=
""
;
// 查询存量的学员没有则创建学员
// 查询存量的学员没有则创建学员
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment