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
b57b90f4
Commit
b57b90f4
authored
Sep 25, 2024
by
yangjian
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优惠券自动化补充
parent
f52a1158
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
159 additions
and
0 deletions
+159
-0
src/main/java/com/xiaomai/cases/polar/coupon/CouponMInTools.java
+69
-0
src/main/java/com/xiaomai/cases/polar/coupon/TestFetchOrderWaitUse.java
+90
-0
No files found.
src/main/java/com/xiaomai/cases/polar/coupon/CouponMInTools.java
View file @
b57b90f4
...
...
@@ -5,9 +5,11 @@ import com.xiaomai.client.DataUserInfo;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.RandomStringUtil
;
import
com.xiaomai.utils.XMBaseTest
;
import
org.springframework.stereotype.Component
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -135,6 +137,73 @@ public class CouponMInTools extends XMBaseTest {
return
response
;
}
/**
* @param
* @description:确认订单页面,查询可用优惠券
* @author: yangjian
**/
public
JSONObject
fetchOrderWaitUse
(
String
receiverId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Lunar_Coupon
)
.
setApiName
(
"API_fetchOrderWaitUse"
)
.
setTerminal
(
Terminal
.
minApp
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject1
=
new
JSONObject
();
jsonObject1
.
put
(
"amount"
,
1
);
jsonObject1
.
put
(
"scope"
,
"MEMBER_CARD"
);
List
<
JSONObject
>
useScope2Amounts
=
new
ArrayList
<>();
useScope2Amounts
.
add
(
jsonObject1
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"receiverId"
,
receiverId
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"useScope2Amounts"
,
useScope2Amounts
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
/**
* @param
* @description:C端购买0元卡
* @param activatePattern [ "即时生效", "首次使用生效", "指定日期生效" ] 激活方式[ PURCHASE, FIRST_USED, SPECIFIC_DATE ]
* @param cardId 卡id
* @param cardSnapshotId:卡快照id
* @param memberId:会员id
* @author: yangfangfang
**/
public
JSONObject
purchaseCarduseCoupon
(
String
activatePattern
,
String
cardId
,
String
cardSnapshotId
,
String
memberId
,
String
userCouponId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Lunar_Order
)
.
setApiName
(
"API_purchaseCard"
)
.
setTerminal
(
Terminal
.
minApp
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"activatePattern"
,
activatePattern
);
jsonObject
.
put
(
"cardId"
,
cardId
);
jsonObject
.
put
(
"cardSnapshotId"
,
cardSnapshotId
);
jsonObject
.
put
(
"memberId"
,
memberId
);
jsonObject
.
put
(
"memo"
,
""
);
jsonObject
.
put
(
"receivableAmount"
,
"0.00"
);
//使用-100的优惠券,应该是0。00元
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"objectId"
,
RandomStringUtil
.
randomString
(
16
));
jsonObject
.
put
(
"userCouponId"
,
userCouponId
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
}
...
...
src/main/java/com/xiaomai/cases/polar/coupon/TestFetchOrderWaitUse.java
0 → 100644
View file @
b57b90f4
package
com
.
xiaomai
.
cases
.
polar
.
coupon
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.lunar.minMemberCard.MinCardTools
;
import
com.xiaomai.cases.lunar.order.OrderCTools
;
import
com.xiaomai.cases.lunar.user.UserTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
TestFetchOrderWaitUse
extends
XMBaseTest
{
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Lunar_Coupon
)
.
setApiName
(
"API_fetchOrderWaitUse"
)
.
setLoginUser
(
LoginAccount
.
GYM_MINIAPPC
)
.
setTerminal
(
Terminal
.
minApp
);
dal
.
setCase_owner
(
"yj"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"确认订单页查看可使用优惠券"
)
public
void
fetchOrderWaitUse
()
{
UserTools
userTools
=
new
UserTools
();
String
receiverId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
//同memberId
CouponMInTools
CouponMIntools
=
new
CouponMInTools
();
CouponMIntools
.
getPageConfig
();
//首页获取首页的配置
String
id
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.moduleConfigList[11].config.ids[0]"
);
//小程序首页,拿配置返回的优惠券id
CouponMIntools
.
claim
(
id
,
receiverId
);
//领取优惠券
String
cooponid
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result"
);
//拿第一张可用的优惠券
System
.
out
.
println
(
"--------"
+
cooponid
);
JSONObject
jsonObject1
=
new
JSONObject
();
jsonObject1
.
put
(
"amount"
,
1
);
jsonObject1
.
put
(
"scope"
,
"MEMBER_CARD"
);
List
<
JSONObject
>
useScope2Amounts
=
new
ArrayList
<>();
useScope2Amounts
.
add
(
jsonObject1
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"receiverId"
,
receiverId
);
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"useScope2Amounts"
,
useScope2Amounts
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
CouponMIntools
.
fetchOrderWaitUse
(
receiverId
);
int
count
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
).
size
();
//核对能用优惠券的张数
Assert
.
assertEquals
(
count
>=
0
,
true
,
"该账户下,没有优惠券了"
);
//没有优惠券需要提示
String
memberId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
OrderCTools
orderCTools
=
new
OrderCTools
();
JSONObject
Result
=
orderCTools
.
pageOrder
(
receiverId
);
int
before
=
Integer
.
parseInt
(
Result
.
getJSONObject
(
"result"
).
getString
(
"total"
));
MinCardTools
minCardTools
=
new
MinCardTools
();
CouponMIntools
.
listMemberReceivedCoupon
(
receiverId
,
"USED"
);
int
count1
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
).
size
();
//未签约0元单时候,已使用优惠券张数
JSONObject
memberCardResult
=
minCardTools
.
fetchOnSaleMemberCard
(
"次卡"
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
);
String
id1
=
memberCardResult
.
getString
(
"id"
);
JSONObject
memberCardDetailResult
=
orderCTools
.
findTenantCardDetailById
(
id1
,
memberId
);
String
cardId
=
memberCardDetailResult
.
getJSONObject
(
"result"
).
getString
(
"id"
);
String
latestSnapshotId
=
memberCardDetailResult
.
getJSONObject
(
"result"
).
getString
(
"latestSnapshotId"
);
CouponMIntools
.
purchaseCarduseCoupon
(
"PURCHASE"
,
cardId
,
latestSnapshotId
,
memberId
,
cooponid
);
//使用优惠券购买0元卡
JSONObject
Result1
=
orderCTools
.
pageOrder
(
receiverId
);
int
after
=
Integer
.
parseInt
(
Result1
.
getJSONObject
(
"result"
).
getString
(
"total"
));
Assert
.
assertEquals
(
after
,
before
+
1
);
//使用优惠券购买订单后,我的订单+1条数据
CouponMIntools
.
listMemberReceivedCoupon
(
receiverId
,
"USED"
);
int
count2
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result"
).
size
();
//已签约0元单时候,已使用优惠券张数
Assert
.
assertEquals
(
count2
,
count1
+
1
);
//使用优惠券后,已使用优惠券+1
}
}
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