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
378b441a
Commit
378b441a
authored
Dec 31, 2024
by
yangfangfang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
物品
parent
37ea63cf
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
212 additions
and
4 deletions
+212
-4
src/main/java/com/xiaomai/cases/lunar/goods/GoodCTools.java
+31
-3
src/main/java/com/xiaomai/cases/lunar/goods/TestPurchaseGoods.java
+180
-0
src/main/java/com/xiaomai/cases/polar/goods/Tools/GoodTools.java
+1
-1
No files found.
src/main/java/com/xiaomai/cases/lunar/goods/GoodCTools.java
View file @
378b441a
...
...
@@ -8,6 +8,8 @@ import com.xiaomai.enums.RequestType;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
java.math.BigDecimal
;
public
class
GoodCTools
extends
XMBaseTest
{
/**
...
...
@@ -19,7 +21,7 @@ public class GoodCTools extends XMBaseTest {
public
JSONObject
pageXcxHomeGoodsC
(
DataUserInfo
...
userInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Lunar_Goods
)
.
setApiName
(
"API_pageXcxHomeGoodsC"
)
.
setTerminal
(
Terminal
.
C
);
.
setTerminal
(
Terminal
.
minApp
);
super
.
beforeDataRequest
(
userInfos
);
...
...
@@ -45,7 +47,7 @@ public class GoodCTools extends XMBaseTest {
public
JSONObject
getDetail_goods_C
(
String
id
,
DataUserInfo
...
userInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Lunar_Goods
)
.
setApiName
(
"API_getDetail_goods_C"
)
.
setTerminal
(
Terminal
.
C
);
.
setTerminal
(
Terminal
.
minApp
);
super
.
beforeDataRequest
(
userInfos
);
...
...
@@ -66,7 +68,7 @@ public class GoodCTools extends XMBaseTest {
public
JSONObject
listXcxGoodsGroup
(
DataUserInfo
...
userInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Lunar_Goods
)
.
setApiName
(
"API_listXcxGoodsGroup"
)
.
setTerminal
(
Terminal
.
C
);
.
setTerminal
(
Terminal
.
minApp
);
super
.
beforeDataRequest
(
userInfos
);
...
...
@@ -79,4 +81,30 @@ public class GoodCTools extends XMBaseTest {
return
dataApi
.
getBodyInJSON
();
}
/**
* @param
* @description:C端购买物品前校验是否通过
* @author: yff
**/
public
JSONObject
checkAllowPurchase
(
String
goodsSpecId
,
String
memberId
,
String
price
,
int
quantity
,
DataUserInfo
...
userInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Lunar_Goods
)
.
setApiName
(
"API_checkAllowPurchase"
)
.
setTerminal
(
Terminal
.
minApp
);
super
.
beforeDataRequest
(
userInfos
);
JSONObject
checkAllowPurchase
=
new
JSONObject
();
checkAllowPurchase
.
put
(
"goodsSpecId"
,
goodsSpecId
);
checkAllowPurchase
.
put
(
"memberId"
,
memberId
);
checkAllowPurchase
.
put
(
"price"
,
price
);
checkAllowPurchase
.
put
(
"quantity"
,
quantity
);
checkAllowPurchase
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
checkAllowPurchase
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
}
src/main/java/com/xiaomai/cases/lunar/goods/TestPurchaseGoods.java
0 → 100644
View file @
378b441a
package
com
.
xiaomai
.
cases
.
lunar
.
goods
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.lunar.order.OrderCTools
;
import
com.xiaomai.cases.lunar.user.UserTools
;
import
com.xiaomai.cases.polar.finance.order.OrderTools
;
import
com.xiaomai.cases.polar.goods.Tools.GoodTools
;
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
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.math.BigDecimal
;
public
class
TestPurchaseGoods
extends
BaseTestImpl
{
GoodCTools
goodCTools
=
new
GoodCTools
();
GoodTools
goodTools
=
new
GoodTools
();
String
memberId
;
UserTools
userTools
=
new
UserTools
();
DataUserInfo
info
=
new
DataUserInfo
();
String
goodsId
;
OrderCTools
orderCTools
=
new
OrderCTools
();
OrderTools
orderTools
=
new
OrderTools
();
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Lunar_Goods
,
"API_purchaseGoods"
,
LoginAccount
.
GYM_MINIAPPC
,
Terminal
.
minApp
,
"yff"
);
super
.
beforeTest
();
}
@Test
(
description
=
"购买非0元多规格物品"
)
public
void
testPurchaseGoods_WAITING
()
{
//获取会员信息
memberId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
//切换端位
info
.
setTerminal
(
Terminal
.
B
);
info
.
setLoginUser
(
LoginAccount
.
GYM_PROD
);
//新建一个非0多规格物品
JSONObject
create
=
goodTools
.
createGoods_multiple
(
"YES"
,
"0.01"
,
10
,
info
);
goodsId
=
create
.
getString
(
"result"
);
//获取商品详情
JSONObject
getDetail_goods_C
=
goodCTools
.
getDetail_goods_C
(
goodsId
,
info
);
String
id
=
getDetail_goods_C
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"id"
);
String
price
=
getDetail_goods_C
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"price"
);
int
inventory
=
Integer
.
parseInt
(
getDetail_goods_C
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"inventory"
));
boolean
checkAllowPurchase
=
Boolean
.
parseBoolean
(
goodCTools
.
checkAllowPurchase
(
id
,
memberId
,
price
,
inventory
).
getJSONObject
(
"result"
).
getString
(
"success"
));
//校验一下物品购买是否可以通过,为true才可以
if
(
checkAllowPurchase
==
true
){
//购买非0元多规格物品
JSONObject
purchaseGoods
=
new
JSONObject
();
purchaseGoods
.
put
(
"depositAmount"
,
"0.00"
);
purchaseGoods
.
put
(
"depositCardId"
,
null
);
purchaseGoods
.
put
(
"memberId"
,
memberId
);
purchaseGoods
.
put
(
"memo"
,
""
);
purchaseGoods
.
put
(
"objectId"
,
RandomStringUtil
.
randomString
(
16
));
purchaseGoods
.
put
(
"receivableAmount"
,
price
);
purchaseGoods
.
put
(
"goodsSpecId"
,
id
);
purchaseGoods
.
put
(
"price"
,
price
);
purchaseGoods
.
put
(
"quantity"
,
1
);
purchaseGoods
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
purchaseGoods
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
purchaseGoodsResponse
=
xmAppApi
.
getBodyInJSON
();
String
orderId
=
purchaseGoodsResponse
.
getJSONObject
(
"result"
).
getString
(
"id"
);
//校验1:获取B端详情:待支付状态
JSONObject
getDetailResult
=
orderTools
.
getDetail
(
orderId
,
info
);
String
businessNo
=
getDetailResult
.
getJSONObject
(
"result"
).
getString
(
"businessNo"
);
//订单号
String
state
=
getDetailResult
.
getJSONObject
(
"result"
).
getString
(
"state"
);
Assert
.
assertEquals
(
state
,
"WAITING"
,
"未生成待支付物品订单"
);
//C端取消订单
JSONObject
cancel
=
orderCTools
.
cancel
(
orderId
);
//校验1:获取B端详情:已取消状态
JSONObject
getDetailResult_cancel
=
orderTools
.
getDetail
(
orderId
,
info
);
String
businessNo_cancel
=
getDetailResult_cancel
.
getJSONObject
(
"result"
).
getString
(
"businessNo"
);
//订单号
String
state_cancel
=
getDetailResult_cancel
.
getJSONObject
(
"result"
).
getString
(
"state"
);
Assert
.
assertEquals
(
state_cancel
,
"CANCEL"
,
"未生成待支付物品订单"
);
}
else
{
System
.
out
.
println
(
"物品购买校验未通过,不能下单"
);
}
}
@Test
(
description
=
"购买0元多规格物品"
)
public
void
testPurchaseGoods_PAID
()
{
//获取会员信息
memberId
=
userTools
.
getMemberInfo
().
getString
(
"memberId"
);
//切换端位
info
.
setTerminal
(
Terminal
.
B
);
info
.
setLoginUser
(
LoginAccount
.
GYM_PROD
);
//新建一个0元多规格物品
JSONObject
create
=
goodTools
.
createGoods_multiple
(
"YES"
,
"0"
,
10
,
info
);
goodsId
=
create
.
getString
(
"result"
);
//获取商品详情
JSONObject
getDetail_goods_C
=
goodCTools
.
getDetail_goods_C
(
goodsId
,
info
);
String
id
=
getDetail_goods_C
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"id"
);
BigDecimal
price
=
new
BigDecimal
(
getDetail_goods_C
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"price"
));
int
inventory
=
Integer
.
parseInt
(
getDetail_goods_C
.
getJSONObject
(
"result"
).
getJSONObject
(
"multiSpecInfo"
).
getJSONArray
(
"specCombinationList"
).
getJSONObject
(
0
).
getString
(
"inventory"
));
boolean
checkAllowPurchase
=
Boolean
.
parseBoolean
(
goodCTools
.
checkAllowPurchase
(
id
,
memberId
,
"0.00"
,
inventory
).
getJSONObject
(
"result"
).
getString
(
"success"
));
//校验一下物品购买是否可以通过,为true才可以
if
(
checkAllowPurchase
==
true
){
//购买非0元多规格物品
JSONObject
purchaseGoods
=
new
JSONObject
();
purchaseGoods
.
put
(
"depositAmount"
,
"0.00"
);
purchaseGoods
.
put
(
"depositCardId"
,
null
);
purchaseGoods
.
put
(
"memberId"
,
memberId
);
purchaseGoods
.
put
(
"memo"
,
""
);
purchaseGoods
.
put
(
"objectId"
,
RandomStringUtil
.
randomString
(
16
));
purchaseGoods
.
put
(
"receivableAmount"
,
price
);
purchaseGoods
.
put
(
"goodsSpecId"
,
id
);
purchaseGoods
.
put
(
"price"
,
price
);
purchaseGoods
.
put
(
"quantity"
,
1
);
purchaseGoods
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
purchaseGoods
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
purchaseGoodsResponse
=
xmAppApi
.
getBodyInJSON
();
String
orderId
=
purchaseGoodsResponse
.
getJSONObject
(
"result"
).
getString
(
"id"
);
//校验1:获取B端详情:待支付状态
JSONObject
getDetailResult
=
orderTools
.
getDetail
(
orderId
,
info
);
String
businessNo
=
getDetailResult
.
getJSONObject
(
"result"
).
getString
(
"businessNo"
);
//订单号
String
state
=
getDetailResult
.
getJSONObject
(
"result"
).
getString
(
"state"
);
Assert
.
assertEquals
(
state
,
"PAID"
,
"未生成已完成物品订单"
);
}
else
{
System
.
out
.
println
(
"物品购买校验未通过,不能下单"
);
}
}
}
src/main/java/com/xiaomai/cases/polar/goods/Tools/GoodTools.java
View file @
378b441a
...
...
@@ -296,7 +296,7 @@ public class GoodTools extends XMBaseTest {
jsonObject
.
put
(
"groupId"
,
"1873912725360504834"
);
jsonObject
.
put
(
"multiSpec"
,
true
);
jsonObject
.
put
(
"name"
,
"自动化创建三
个规格"
+
RandomStringUtil
.
randomString
(
2
));
jsonObject
.
put
(
"name"
,
"自动化创建三
规格"
+
RandomStringUtil
.
randomString
(
3
));
jsonObject
.
put
(
"xcxSaleState"
,
xcxSaleState
);
...
...
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