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
ae9eab9f
Commit
ae9eab9f
authored
Aug 15, 2024
by
xyy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新case
parent
07358f94
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
58 additions
and
42 deletions
+58
-42
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
+8
-9
src/main/java/com/xiaomai/cases/polar/memberCard/TestDiscardManualDeduct.java
+50
-33
No files found.
src/main/java/com/xiaomai/cases/polar/memberCard/CardTools.java
View file @
ae9eab9f
...
...
@@ -76,6 +76,7 @@ public class CardTools extends XMBaseTest {
return
dataApi
.
getBodyInJSON
();
}
/**
* 快速创建会员卡次卡-存量数据: 嘟嘟创建的会员卡-次卡
*
...
...
@@ -364,7 +365,7 @@ public class CardTools extends XMBaseTest {
* @description:手动扣次
* @author: yangjian
**/
public
JSONObject
manualDeduct
(
String
benefitId
,
String
memberCardId
,
DataUserInfo
...
dataUserInfos
)
{
public
JSONObject
manualDeduct
(
String
benefitId
,
String
memberCardId
,
String
balance
,
DataUserInfo
...
dataUserInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
.
setApiName
(
"API_manualDeduct"
)
...
...
@@ -373,7 +374,7 @@ public class CardTools extends XMBaseTest {
JSONObject
object
=
new
JSONObject
();
object
.
put
(
"balance"
,
1
);
object
.
put
(
"balance"
,
balance
);
//手动扣次数,若是储值卡可以是小数
object
.
put
(
"benefitId"
,
benefitId
);
List
deductList
=
new
ArrayList
();
...
...
@@ -388,8 +389,7 @@ public class CardTools extends XMBaseTest {
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
return
dataApi
.
getBodyInJSON
();
}
/**
...
...
@@ -415,8 +415,7 @@ public class CardTools extends XMBaseTest {
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
;
return
dataApi
.
getBodyInJSON
();
}
/**
...
...
@@ -655,10 +654,10 @@ public class CardTools extends XMBaseTest {
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"operatorId"
,
xmApp
Api
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"operatorId"
,
data
Api
.
getLoginInfo
().
getAdminId
());
jsonObject
.
put
(
"sharerIds"
,
new
JSONArray
());
jsonObject
.
put
(
"brandId"
,
xmApp
Api
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmApp
Api
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"brandId"
,
data
Api
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
data
Api
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
...
...
src/main/java/com/xiaomai/cases/polar/memberCard/TestDiscardManualDeduct.java
View file @
ae9eab9f
...
...
@@ -5,11 +5,11 @@ 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.DataProvider
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
...
...
@@ -19,6 +19,9 @@ public class TestDiscardManualDeduct extends XMBaseTest {
@Resource
(
name
=
"cardTools"
)
CardTools
cardTools
;
public
String
benefitId
;
public
String
memberCardId
=
""
;
@BeforeMethod
public
void
beforeTest
(){
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Card
)
...
...
@@ -30,41 +33,55 @@ public class TestDiscardManualDeduct extends XMBaseTest {
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"撤销手动扣次"
)
public
void
testDiscardManualDeduct
()
{
cardTools
.
memberCardSearch
(
"NORMAL"
);
String
benefitId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].courseBenefit.id"
);
//拿售卖记录第一张【生效中】售卖的会员卡的ID;
String
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
//拿售卖记录第一张【生效中】会员卡的ID;
//JSONObject bodyJson1 =Cardtools.memberCardFindDetailById(memberCardId);
//int num1 = Integer.parseInt(XMJSONPath.readPath(bodyJson1,"$.result.courseBenefit.leftPurchaseBalance"));
cardTools
.
manualDeduct
(
benefitId
,
memberCardId
);
//手动扣次
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
);
String
consumeRecordId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
//拿第一条消耗记录
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].consumeType"
).
equals
(
"MANUAL_DEDUCT"
),
"操作手动扣次,消耗记录第一条操作类型"
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].changeOfPurchaseBalance"
).
equals
(
"-1.00"
),
"操作手动扣次,消耗次数"
);
//JSONObject bodyJson2 =Cardtools.memberCardFindDetailById(memberCardId);
//int num2 = Integer.parseInt(XMJSONPath.readPath(bodyJson2,"$.result.courseBenefit.leftPurchaseBalance"));
//Assert.assertTrue(num1 == num2+1);//手动扣次后减少一次
@DataProvider
public
Object
[][]
dataProvider
(){
return
new
Object
[][]{
{
"MEMBER"
,
"1.00"
},
//会员卡,扣整数
{
"EXPERIENCE"
,
"1.00"
},
//体验卡,扣整数
{
"DEPOSIT"
,
"0.01"
}
//储值卡,扣小数
};
}
@Test
(
description
=
"手动扣次-->撤销手动扣次"
,
dataProvider
=
"dataProvider"
)
public
void
testDiscardManualDeduct
(
String
cardType
,
String
balance
)
throws
InterruptedException
{
//查询生效中的卡列表
cardTools
.
memberCardSearch
(
cardType
,
"NORMAL"
);
//先检查列表有没有数据,有数据才会执行下面的点代码(如果是个空机构,肯定不会被执行,想从存量数据中获取,需要自己先造个数据)
int
listDatas
=
XMJSONPath
.
getJSONArrayByReadPath
(
dataApi
.
getApi_response
(),
"$.result.records"
).
size
();
if
(
listDatas
>
0
)
{
memberCardId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].id"
);
//拿售卖记录第一张【生效中】会员卡的ID;
if
(
cardType
==
"DEPOSIT"
){
benefitId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].depositBenefit.id"
);
//储值卡权益id;
}
else
{
benefitId
=
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].courseBenefit.id"
);
//会员卡/体验卡权益id;
}
//先查询消耗记录的条数
int
num
=
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
),
"$.result.total"
));
//对卡操作手动扣次
cardTools
.
manualDeduct
(
benefitId
,
memberCardId
,
balance
);
//获取手动扣次生成的消耗记录id
String
consumeRecordId
=
XMJSONPath
.
readPath
(
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
),
"$.result.records[0].id"
);
//check卡的消耗记录新增1条记录,并且校验消耗记录的类型及扣除次数的准确性
Assert
.
assertTrue
(
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
),
"$.result.total"
))==
num
+
1
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
),
"$.result.records[0].consumeType"
).
equals
(
"MANUAL_DEDUCT"
),
"操作手动扣次,消耗记录第一条操作类型"
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
),
"$.result.records[0].changeOfPurchaseBalance"
).
equals
(
"-"
+
balance
),
"操作手动扣次,消耗次数"
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"consumeRecordId"
,
consumeRecordId
);
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
);
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
);
//构建参数
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"consumeRecordId"
,
consumeRecordId
);
jsonObject
.
put
(
"memberCardId"
,
memberCardId
);
jsonObject
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].consumeType"
).
equals
(
"DISCARD_MANUAL_DEDUCT"
),
"操作手动扣次,消耗记录第一条操作类型"
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
dataApi
.
getApi_response
(),
"$.result.records[0].changeOfPurchaseBalance"
).
equals
(
"1.00"
),
"操作撤销手动扣次,消耗次数"
);
//调用请求
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
//JSONObject bodyJson3 =Cardtools.memberCardFindDetailById(memberCardId);
//int num3 = Integer.parseInt(XMJSONPath.readPath(bodyJson2,"$.result.courseBenefit.leftPurchaseBalance"));
//Assert.assertTrue(num1 == num3);//撤销后和原来一样的次数
//check卡的消耗记录再次新增1条记录,并且校验消耗记录的类型及扣除次数的准确性
Assert
.
assertTrue
(
Integer
.
parseInt
(
XMJSONPath
.
readPath
(
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
),
"$.result.total"
))==
num
+
2
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
),
"$.result.records[0].consumeType"
).
equals
(
"MANUAL_DEDUCT"
),
"操作手动扣次,消耗记录第一条操作类型"
);
Assert
.
assertTrue
(
XMJSONPath
.
readPath
(
cardTools
.
fetchPageOfConsumeRecord
(
benefitId
,
memberCardId
),
"$.result.records[0].changeOfPurchaseBalance"
).
equals
(
balance
),
"操作手动扣次,消耗次数"
);
Thread
.
sleep
(
3000
);
}
}
}
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