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
a87e624e
Commit
a87e624e
authored
Aug 09, 2024
by
zhangyuxiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
体验卡
parent
a60c73b8
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
124 additions
and
1 deletions
+124
-1
src/main/java/com/xiaomai/cases/polar/experienceCard/TestCreateExperienceCard.java
+7
-0
src/main/java/com/xiaomai/cases/polar/experienceCard/TestUpdateExperienceCard.java
+116
-0
src/main/java/com/xiaomai/cases/polar/experienceCard/Tools.java
+1
-1
No files found.
src/main/java/com/xiaomai/cases/polar/experienceCard/TestCreateExperienceCard.java
View file @
a87e624e
...
...
@@ -11,6 +11,7 @@ import org.testng.Assert;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.List
;
import
java.util.Random
;
/**
...
...
@@ -57,6 +58,12 @@ public class TestCreateExperienceCard extends XMBaseTest {
String
id1
=
tools
.
fetchPageOfMemberCard
(
"EXPERIENCE_CARD"
,
""
,
""
,
""
,
""
).
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"id"
);
Assert
.
assertEquals
(
id
,
id1
);
JSONObject
res
=
cardTools
.
fetchDetailById
(
id
).
getJSONObject
(
"result"
);
List
benefitList
=
res
.
getJSONArray
(
"benefitList"
);
//全局搜索该体验卡
JSONObject
res1
=
cardTools
.
doMemberCardcommonSearch
(
title
,
"EXPERIENCE_CARD"
);
Assert
.
assertEquals
(
res1
.
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getJSONArray
(
"benefitList"
),
benefitList
);
//停用体验卡
cardTools
.
modifyMemberCardShelfState
(
id
,
"NO"
);
Assert
.
assertEquals
(
cardTools
.
fetchDetailById
(
id
).
getJSONObject
(
"result"
).
getString
(
"shelfState"
),
"NO"
);
...
...
src/main/java/com/xiaomai/cases/polar/experienceCard/TestUpdateExperienceCard.java
0 → 100644
View file @
a87e624e
package
com
.
xiaomai
.
cases
.
polar
.
experienceCard
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.polar.memberCard.CardTools
;
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.XMBaseTest
;
import
com.xiaomai.utils.XMJSONPath
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Author zxy
* @Description
* @Date 2024/8/8 14:04
*/
public
class
TestUpdateExperienceCard
extends
XMBaseTest
{
Tools
tools
=
new
Tools
();
CardTools
cardTools
=
new
CardTools
();
String
memberCardId
;
String
title
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_tenantMemberCard_update"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"zyx"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"编辑体验卡"
)
public
void
testUpdateExperienceCard
(){
//先检查次下列表有没有数据,有数据才会执行下面的点代码,无数据则新建一个
cardTools
.
fetchPageOfMemberCard
(
"EXPERIENCE_CARD"
);
int
listDatas
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
();
if
(
listDatas
>
0
)
{
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
}
else
{
for
(
int
i
=
0
;
i
<
3
;
i
++){
title
=
"课程次数入场次数"
+
RandomStringUtil
.
randomString
(
3
)+
"-自动化创建"
;
//check是否存在同名的体验卡,不存在则新建
Boolean
duplicate
=
tools
.
checkTitleDuplicate
(
title
,
"EXPERIENCE_CARD"
).
getBoolean
(
"result"
);
if
(
duplicate
==
false
)
{
memberCardId
=
tools
.
create
(
"EXPERIENCE_CARD"
,
title
,
"全部"
,
"YES"
,
"课程次数入场次数"
).
getString
(
"result"
);
break
;
}
}
}
//编辑体验卡前的查看编辑记录列表的总数
int
num
=
Integer
.
parseInt
(
cardTools
.
fetchPageOfHistory
(
memberCardId
).
getJSONObject
(
"result"
).
getString
(
"total"
));
//从体验卡详情获取部分字段信息
JSONObject
res
=
cardTools
.
fetchDetailById
(
memberCardId
).
getJSONObject
(
"result"
);
List
activatePatternList
=
res
.
getJSONArray
(
"activatePatternList"
);
List
benefitList
=
res
.
getJSONArray
(
"benefitList"
);
String
price
=
res
.
getString
(
"price"
);
//购买体验卡的会员状态:仅潜在会员
List
purchaseMemberStateList
=
new
ArrayList
();
purchaseMemberStateList
.
add
(
"POTENTIAL"
);
String
description
=
"{\"items\":[{\"aspect\":\"\",\"type\":\"TEXT\",\"content\":\"自动化测试脚本编辑\"}]}"
;
//编辑体验卡
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
object
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
object
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"creatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
object
.
put
(
"maxIdlePeriod"
,
"7"
);
//首次使用生效方式的最晚生效天数
object
.
put
(
"surfaceCornerMark"
,
"自动化测试"
);
//封面标签
object
.
put
(
"title"
,
title
);
object
.
put
(
"validPeriod"
,
"10"
);
//有效期
object
.
put
(
"activatePatternList"
,
activatePatternList
);
//生效方式
object
.
put
(
"price"
,
price
);
//售价
object
.
put
(
"underlinePrice"
,
"35"
);
//划线价
object
.
put
(
"purchaseNumberLimit"
,
"100"
);
//最大购买数量
object
.
put
(
"xcxSaleStatus"
,
"YES"
);
//开启小程序售卖
object
.
put
(
"shelfState"
,
"YES"
);
//启用体验卡
object
.
put
(
"description"
,
description
);
//描述
object
.
put
(
"benefitList"
,
benefitList
);
//权益信息
object
.
put
(
"stock"
,
""
);
//剩余库存
object
.
put
(
"purchaseMemberStateList"
,
purchaseMemberStateList
);
//可购卡的会员状态
object
.
put
(
"surfaceUrl"
,
"https://image.xiaomaiketang.com/xm/internal/AHZTicf2k7.png"
);
//封面
object
.
put
(
"commodityCardType"
,
"EXPERIENCE_CARD"
);
//卡类型:体验卡
object
.
put
(
"purchaseRestriction"
,
"NO"
);
object
.
put
(
"memberCardId"
,
memberCardId
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
object
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
res1
=
cardTools
.
fetchPageOfHistory
(
memberCardId
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
res1
.
getString
(
"total"
),
String
.
valueOf
(
num
+
1
));
//编辑记录应该+1条
Assert
.
assertEquals
(
res1
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"operateType"
),
"EDIT"
);
//最新的一条应该是编辑的
JSONObject
res2
=
cardTools
.
findHistoryDetailById
(
res1
.
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"snapshotId"
)).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
res2
.
getString
(
"purchaseRestriction"
),
"NO"
);
Assert
.
assertEquals
(
res2
.
getJSONArray
(
"purchaseMemberStateList"
),
purchaseMemberStateList
);
}
}
src/main/java/com/xiaomai/cases/polar/experienceCard/Tools.java
View file @
a87e624e
...
...
@@ -203,7 +203,7 @@ public class Tools extends XMBaseTest {
}
//卡列表
//卡列表
卡类型commodityCardType;筛选条件filter,有传传对应的类型及参数,无就传空;
public
JSONObject
fetchPageOfMemberCard
(
String
commodityCardType
,
String
filter
,
String
courseId
,
String
shelfState
,
String
xcxSaleStatus
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
...
...
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