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
c2a94ace
Commit
c2a94ace
authored
Aug 14, 2024
by
xyy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增储值卡
parent
7944c41d
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
300 additions
and
51 deletions
+300
-51
excelFile/depositInfo.xls
+0
-0
src/main/java/com/xiaomai/cases/polar/depositCard/DepositTools.java
+127
-0
src/main/java/com/xiaomai/cases/polar/enums/ExcelImportEnum.java
+2
-1
src/main/java/com/xiaomai/cases/polar/importExcel/TestImportDeposit.java
+99
-0
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
+7
-2
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyShelfState.java
+21
-13
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyXcxSaleState.java
+44
-35
No files found.
excelFile/depositInfo.xls
0 → 100644
View file @
c2a94ace
File added
src/main/java/com/xiaomai/cases/polar/depositCard/DepositTools.java
0 → 100644
View file @
c2a94ace
package
com
.
xiaomai
.
cases
.
polar
.
depositCard
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.springframework.stereotype.Component
;
@Component
(
"depositTools"
)
public
class
DepositTools
extends
XMBaseTest
{
/**
* 创建储值卡
* @param title
* @param dataUserInfos
* @return
*/
public
String
depositCardCreate
(
String
title
,
String
balance
,
String
price
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_tenantMemberCard_create"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONArray
benefitList
=
new
JSONArray
();
JSONObject
benefitObject
=
new
JSONObject
();
benefitObject
.
put
(
"identifier"
,
dataApi
.
getLoginInfo
().
getUser
());
benefitObject
.
put
(
"balance"
,
balance
);
//赠送金额
benefitObject
.
put
(
"benefitType"
,
"STORED_VALUE"
);
benefitObject
.
put
(
"price"
,
price
);
//充值金额
benefitObject
.
put
(
"targetType"
,
"PAYMENT"
);
benefitObject
.
put
(
"targetScope"
,
"PAYMENT_SPECIFIC_SCENARIO"
);
benefitObject
.
put
(
"paymentScenarioList"
,
new
JSONArray
().
add
(
"ALL"
));
benefitObject
.
put
(
"accountType"
,
"DEPOSIT"
);
benefitList
.
add
(
benefitObject
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"surfaceUrl"
,
"https://image.xiaomaiketang.com/xm/internal/BHabA5WaNF.png"
);
//储值卡封面图片
object
.
put
(
"surfaceCornerMark"
,
"自动化标签"
);
object
.
put
(
"title"
,
title
);
//储值卡名称 不能重复要加东西 "储值卡"+RandomStringUtil.randomString(3)
object
.
put
(
"validPeriod"
,
"10"
);
//有效期10天
object
.
put
(
"sharePeopleLimit"
,
"10"
);
//共享10人
object
.
put
(
"price"
,
price
);
//充值金额
object
.
put
(
"purchaseNumberLimit"
,
"-1"
);
//购买数量不限制
object
.
put
(
"xcxSaleStatus"
,
"YES"
);
//小程序是否售卖
object
.
put
(
"creatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"shelfState"
,
"YES"
);
//卡启用状态
object
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"description"
,
"{\"items\":[{\"content\":\"自动化创建的卡\",\"aspect\":\"\",\"type\":\"TEXT\"}]}"
);
object
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"commodityCardType"
,
"DEPOSIT_CARD"
);
object
.
put
(
"activatePatternList"
,
new
JSONArray
().
add
(
"PURCHASE"
));
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
object
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result"
);
}
/**
* 售卖记录全局搜索:根据会员名称/手机号搜索,获取会员名下购卡相关记录
*
* @param memberId
*/
public
JSONObject
getUserDepositCardList
(
String
memberId
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_fetchUserCardList"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
object
=
new
JSONObject
();
JSONArray
memberCardStateList
=
new
JSONArray
();
memberCardStateList
.
add
(
"NORMAL"
);
memberCardStateList
.
add
(
"SUSPEND"
);
object
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"accountType"
,
"DEPOSIT"
);
object
.
put
(
"memberId"
,
memberId
);
object
.
put
(
"memberCardStateList"
,
memberCardStateList
);
object
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
object
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
/**
* 查看储值卡售卖记录
*/
public
JSONObject
searchMemberCard
(
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Training
)
.
setApiName
(
"API_searchTrainingAccountRecordsList"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"current"
,
0
);
object
.
put
(
"size"
,
20
);
object
.
put
(
"accountType"
,
"DEPOSIT"
);
object
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
object
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
public
JSONObject
commonSearchMemberCard
(
String
title
,
String
commodityCardType
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Training
)
.
setApiName
(
"API_tenantMemberCard_commonSearch"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfos
);
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"commodityCardType"
,
commodityCardType
);
object
.
put
(
"title"
,
title
);
object
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
object
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
}
src/main/java/com/xiaomai/cases/polar/enums/ExcelImportEnum.java
View file @
c2a94ace
...
...
@@ -8,7 +8,8 @@ import org.apache.commons.lang3.StringUtils;
* @Date 2024/7/2 17:48
*/
public
enum
ExcelImportEnum
{
MEMBER_INFO
(
"memberInfo"
,
3
,
0
,
1
);
MEMBER_INFO
(
"memberInfo"
,
3
,
0
,
1
),
DEPOSIT_INFO
(
"depositInfo"
,
3
,
0
,
1
);
/**业务 */
private
String
value
;
...
...
src/main/java/com/xiaomai/cases/polar/importExcel/TestImportDeposit.java
0 → 100644
View file @
c2a94ace
package
com
.
xiaomai
.
cases
.
polar
.
importExcel
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.enums.ExcelImportEnum
;
import
com.xiaomai.cases.polar.utils.Entity.SignatureVO
;
import
com.xiaomai.cases.polar.utils.ModifyExcelContentUtil
;
import
com.xiaomai.cases.polar.utils.ResourceUtil
;
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.io.FileInputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
public
class
TestImportDeposit
extends
XMBaseTest
{
ImportTools
importTools
=
new
ImportTools
();
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_ImportTask
)
.
setApiName
(
"API_webTokenWithAccessUrl"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"xyy"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"导入售出储值卡"
)
public
void
testImportMember
()
throws
IOException
,
InterruptedException
{
//导入任务列表
int
total
=
Integer
.
parseInt
(
importTools
.
pageImportTask
().
getJSONObject
(
"result"
).
getString
(
"total"
));
//1.更新excel文档
String
filePathName
=
"excelFile/depositInfo.xls"
;
ModifyExcelContentUtil
.
modifyExcel
(
filePathName
,
"售出储值卡导入"
,
ExcelImportEnum
.
DEPOSIT_INFO
);
Thread
.
sleep
(
1000
);
//2、获取签名
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"tenantId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"tenantType"
,
"BRAND"
);
object
.
put
(
"resourceName"
,
filePathName
);
object
.
put
(
"resourceNameToMD5"
,
false
);
object
.
put
(
"bizCode"
,
"IMPORT_TASK"
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
result1
=
xmAppApi
.
getBodyInJSON
();
String
resourceId
=
XMJSONPath
.
readPath
(
result1
,
"$.result.resourceId"
);
String
accessId
=
XMJSONPath
.
readPath
(
result1
,
"$.result.accessId"
);
String
policy
=
XMJSONPath
.
readPath
(
result1
,
"$.result.policy"
);
String
signature
=
XMJSONPath
.
readPath
(
result1
,
"$.result.signature"
);
String
key
=
XMJSONPath
.
readPath
(
result1
,
"$.result.key"
);
String
callback
=
XMJSONPath
.
readPath
(
result1
,
"$.result.callback"
);
String
host
=
XMJSONPath
.
readPath
(
result1
,
"$.result.host"
);
String
time
=
XMJSONPath
.
readPath
(
result1
,
"$.result.extAttrs"
);
JSONObject
time1
=
JSONObject
.
parseObject
(
time
);
String
url
=
XMJSONPath
.
readPath
(
result1
,
"$.result.url"
);
//3.腾讯云上传
InputStream
inputStream
=
new
FileInputStream
(
filePathName
);
SignatureVO
signatureVO
=
new
SignatureVO
();
signatureVO
.
setAlgorithm
(
"sha1"
);
signatureVO
.
setKey
(
key
);
signatureVO
.
setAccessId
(
accessId
);
signatureVO
.
setPolicy
(
policy
);
signatureVO
.
setSignature
(
signature
);
signatureVO
.
setCallback
(
callback
);
signatureVO
.
setExtAttrs
(
time1
.
getString
(
"q-key-time"
));
signatureVO
.
setHost
(
host
);
signatureVO
.
setResourceId
(
Long
.
valueOf
(
resourceId
));
String
result
=
String
.
valueOf
(
ResourceUtil
.
uploadFileContentToTencent
(
inputStream
,
filePathName
,
signatureVO
,
5000
,
"multipart/form-data"
));
Assert
.
assertEquals
(
result
,
"true"
);
//4.创建任务
JSONObject
result2
=
importTools
.
createImportTask
(
"DEPOSIT_CARD_ORDER"
,
resourceId
,
null
,
""
);
String
recordId
=
XMJSONPath
.
readPath
(
result2
,
"$.result"
);
//5.获取上传进度
Thread
.
sleep
(
6000
);
importTools
.
getTask
(
recordId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.state"
),
"SUCCESS"
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.successRowNum"
),
"1"
);
//上传成功后导入记录列表新增一条数据
JSONObject
res
=
importTools
.
pageImportTask
().
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
Integer
.
parseInt
(
res
.
getString
(
"total"
)),
total
+
1
);
Assert
.
assertEquals
(
res
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"resourceId"
),
resourceId
);
Assert
.
assertEquals
(
res
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"state"
),
"SUCCESS"
);
}
}
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
View file @
c2a94ace
...
...
@@ -507,8 +507,13 @@ public class CardTools extends XMBaseTest {
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
/**
* 修改会员卡的售卖状态
*
* @param memberCardId 会员卡ID
* @param xcxSaleState 启用:YES,停用:NO
* @param dataUserInfos
*/
public
void
modifyXcxSaleState
(
String
memberCardId
,
String
xcxSaleState
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_modifyXcxSaleState"
)
...
...
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyShelfState.java
View file @
c2a94ace
...
...
@@ -9,6 +9,7 @@ import com.xiaomai.utils.XMBaseTest;
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
;
...
...
@@ -16,6 +17,9 @@ import javax.annotation.Resource;
public
class
TestModifyShelfState
extends
XMBaseTest
{
@Resource
(
name
=
"cardTools"
)
CardTools
cardTools
;
public
String
memberCardId
=
""
;
public
String
shelfState
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
...
...
@@ -27,13 +31,20 @@ public class TestModifyShelfState extends XMBaseTest {
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"停用会员卡"
)
public
void
testmodifyShelfState
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
(
"MEMBER_CARD"
);
String
memberCardId
=
""
;
String
shelfState
;
//先检查次下列表有没有数据,有数据才会执行下面的点代码(如果是个空机构,肯定不会被执行,想从存量数据中获取,需要自己先造个数据)
@DataProvider
public
Object
[][]
dataProvider
(){
return
new
Object
[][]{
{
"MEMBER_CARD"
},
//会员卡
{
"DEPOSIT_CARD"
},
//储值卡
{
"EXPERIENCE_CARD"
}
//体验卡
};
}
@Test
(
description
=
"停用卡"
,
dataProvider
=
"dataProvider"
)
public
void
testModifyShelfState_NO
(
String
cardType
)
{
cardTools
.
fetchPageOfMemberCard
(
cardType
);
//先检查列表有没有数据,有数据才会执行下面的点代码(如果是个空机构,肯定不会被执行,想从存量数据中获取,需要自己先造个数据)
int
listDatas
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
();
if
(
listDatas
>
0
)
{
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
...
...
@@ -58,12 +69,9 @@ public class TestModifyShelfState extends XMBaseTest {
}
}
@Test
(
description
=
"启用会员卡"
)
public
void
testmodifyShelfState1
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
(
"MEMBER_CARD"
);
String
memberCardId
=
""
;
String
shelfState
;
@Test
(
description
=
"启用卡"
,
dataProvider
=
"dataProvider"
)
public
void
testModifyShelfState_YES
(
String
cardType
)
{
cardTools
.
fetchPageOfMemberCard
(
cardType
);
int
listDatas
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
();
if
(
listDatas
>
0
)
{
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
...
...
src/main/java/com/xiaomai/cases/polar/memberCard/TestModifyXcxSaleState.java
View file @
c2a94ace
...
...
@@ -9,9 +9,18 @@ import com.xiaomai.utils.XMBaseTest;
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
TestModifyXcxSaleState
extends
XMBaseTest
{
@Resource
(
name
=
"cardTools"
)
CardTools
cardTools
;
public
String
memberCardId
=
""
;
public
String
xcxSaleState
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
...
...
@@ -23,27 +32,29 @@ public class TestModifyXcxSaleState extends XMBaseTest {
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"关闭会员卡售卖"
)
public
void
testmodifyXcxSaleState
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
(
"MEMBER_CARD"
);
String
memberCardId
=
""
;
String
xcxSaleStatus
;
//先检查次下列表有没有数据,有数据才会执行下面的点代码(如果是个空机构,肯定不会被执行,想从存量数据中获取,需要自己先造个数据)
@DataProvider
public
Object
[][]
dataProvider
(){
return
new
Object
[][]{
{
"MEMBER_CARD"
},
//会员卡
{
"DEPOSIT_CARD"
},
//储值卡
{
"EXPERIENCE_CARD"
}
//体验卡
};
}
@Test
(
description
=
"关闭卡售卖"
,
dataProvider
=
"dataProvider"
)
public
void
testModifyXcxSaleState_NO
(
String
cardType
)
{
cardTools
.
fetchPageOfMemberCard
(
cardType
);
//先检查列表有没有数据,有数据才会执行下面的点代码(如果是个空机构,肯定不会被执行,想从存量数据中获取,需要自己先造个数据)
int
listDatas
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
();
if
(
listDatas
>
0
)
{
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
//取出第一个数据后,要check下会员卡的
售卖状态,想停用,要保证卡的状态目前就是停售
状态
xcxSaleStat
us
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].xcxSaleStatus
"
);
//取出第一个数据后,要check下会员卡的
启用状态,想停用,要保证卡的状态目前就是启用
状态
xcxSaleStat
e
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].xcxSaleState
"
);
//如果不是启用状态,则开启
if
(
xcxSaleStatus
.
equals
(
"NO"
)){
Cardtools
.
modifyXcxSaleState
(
memberCardId
,
"YES"
);
if
(
xcxSaleState
.
equals
(
"NO"
))
{
cardTools
.
modifyXcxSaleState
(
memberCardId
,
"YES"
);
}
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"xcxSaleState"
,
"NO"
);
jsonObject
.
put
(
"xcxSaleState"
,
"NO"
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
...
...
@@ -51,40 +62,37 @@ public class TestModifyXcxSaleState extends XMBaseTest {
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
//check 会员卡详情,查看状态是否是下架状态
Cardtools
.
fetchDetailById
(
memberCardId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.xcxSaleStatus"
),
"NO"
,
"操作停用会员卡后,查看卡详情,卡启用状态没变更为NO"
);
cardTools
.
fetchDetailById
(
memberCardId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.xcxSaleState"
),
"NO"
,
"操作关闭小程序售卖后,查看卡详情,卡售卖状态没变更为NO"
);
}
}
@Test
(
description
=
"启用会员卡"
)
public
void
testmodifyShelfState1
()
{
CardTools
Cardtools
=
new
CardTools
();
Cardtools
.
fetchPageOfMemberCard
(
"MEMBER_CARD"
);
String
memberCardId
=
""
;
String
xcxSaleStatus
;
@Test
(
description
=
"开启卡售卖"
,
dataProvider
=
"dataProvider"
)
public
void
testModifyXcxSaleState_YES
(
String
cardType
){
cardTools
.
fetchPageOfMemberCard
(
cardType
);
//先检查列表有没有数据,有数据才会执行下面的点代码(如果是个空机构,肯定不会被执行,想从存量数据中获取,需要自己先造个数据)
int
listDatas
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
();
if
(
listDatas
>
0
)
{
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
xcxSaleStatus
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].xcxSaleStatus"
);
if
(
xcxSaleStatus
.
equals
(
"YES"
))
{
Cardtools
.
modifyXcxSaleState
(
memberCardId
,
"NO"
);
//取出第一个数据后,要check下会员卡的启用状态,想停用,要保证卡的状态目前就是启用状态
xcxSaleState
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].xcxSaleState"
);
//如果不是启用状态,则开启
if
(
xcxSaleState
.
equals
(
"NO"
))
{
cardTools
.
modifyXcxSaleState
(
memberCardId
,
"YES"
);
}
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"xcxSaleState"
,
"YES"
);
jsonObject
.
put
(
"xcxSaleState"
,
"NO"
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
//check 会员卡详情,查看状态是否是上架状态
Cardtools
.
fetchDetailById
(
memberCardId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.xcxSaleStatus"
),
"YES"
,
"操作启用会员卡后,查看卡详情,卡启用状态没变更为YES"
);
//check 会员卡详情,查看状态是否是下架状态
cardTools
.
fetchDetailById
(
memberCardId
);
Assert
.
assertEquals
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.xcxSaleState"
),
"NO"
,
"操作启用小程序售卖后,查看卡详情,卡售卖状态没变更为YES"
);
}
}
}
}
\ No newline at end of file
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