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
9cc8f5b2
Commit
9cc8f5b2
authored
Aug 06, 2024
by
xuyamei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加21个电子合同接口case
parent
06eeff5e
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
1021 additions
and
2 deletions
+1021
-2
src/main/java/com/xiaomai/cases/polar/eleContract/EleContractTools.java
+234
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestCheckContractConfig.java
+52
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetCompanyAuthSignResult.java
+38
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetCompanyCert.java
+38
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetCompanyLastSuccessVerifyResult.java
+38
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetCompanyLastVerifyStatus.java
+36
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetCompanySignature.java
+36
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetContractEditDisplay.java
+60
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetNormalTemplateList.java
+36
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetSuiteList.java
+51
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetTemplate.java
+40
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetValidBalanceList.java
+52
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestSetBalanceWarning.java
+60
-0
src/main/java/com/xiaomai/cases/polar/eleContract/TestStartContractV2.java
+228
-0
src/main/java/com/xiaomai/cases/polar/finance/order/OrderTools.java
+18
-0
src/main/java/com/xiaomai/cases/polar/reserve/ReserveTools.java
+2
-2
src/main/java/com/xiaomai/enums/ApiModule.java
+1
-0
src/main/java/com/xiaomai/enums/LoginAccount.java
+1
-0
No files found.
src/main/java/com/xiaomai/cases/polar/eleContract/EleContractTools.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
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
org.springframework.stereotype.Component
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 13:55
* @Description: 电子合同工具类
* @Version: 1.0
*/
@Component
(
"eleContractTools"
)
public
class
EleContractTools
extends
XMBaseTest
{
public
void
setUp
(
String
name
,
DataUserInfo
...
dataUserInfo
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_EleContract
)
.
setApiName
(
name
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
dataUserInfo
);
}
/**
* @description: 查询电子合同模版列表
* @author: xuyamei
* @date: 2024/8/5 14:38
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
getNormalTemplateList
(
String
name
)
{
setUp
(
"API_getNormalTemplateList"
);
String
body
=
"{\"tenantId\":\""
+
dataApi
.
getLoginInfo
().
getStudioId
()+
"\",\"name\": \""
+
name
+
"\"}"
;
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
,
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONArray
(
"result"
);
}
/**
* @description:获取充值单列表
* @author: xuyamei
* @date: 2024/8/5 15:14
* @return: com.alibaba.fastjson.JSONArray
**/
public
JSONArray
getBalanceList
(){
setUp
(
"API_getBalanceList"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"tenantId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONArray
(
"result"
);
}
public
JSONArray
getValidBalanceList
(){
setUp
(
"API_getValidBalanceList"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"tenantId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONArray
(
"result"
);
}
/**
* @description: 获取租户的预警配置
* @author: xuyamei
* @date: 2024/8/5 15:20
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONObject
getBalanceWarning
(){
setUp
(
"API_getBalanceWarning"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"tenantId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
/**
* @description:获取合同编辑展示页-首次创建
* @author: xuyamei
* @date: 2024/8/5 17:49
* @param templateId :合同模版id
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONObject
getContractEditDisplay
(
String
templateId
){
setUp
(
"API_getContractEditDisplay"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"templateId"
,
templateId
);
body
.
put
(
"adminId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
/**
* @description:获取发起合同任务的状态
* @author: xuyamei
* @date: 2024/8/5 18:52
* @param id :合同id
* @return: boolean
**/
public
boolean
getStartContractV2Result
(
String
id
){
setUp
(
"API_getStartContractV2Result"
);
String
body
=
"{\"id\":\""
+
id
+
"\"}"
;
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
,
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getBoolean
(
"result"
);
}
/**
* @description:获取合同列表
* @author: xuyamei
* @date: 2024/8/5 19:14
* @param targetId : 学员id
* @param associatedId :订单id
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONObject
getContractPage
(
String
targetId
,
String
associatedId
,
String
status
){
setUp
(
"API_getContractPage"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"targetId"
,
targetId
);
body
.
put
(
"associatedId"
,
associatedId
);
body
.
put
(
"size"
,
10
);
body
.
put
(
"current"
,
0
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
if
(!
status
.
equals
(
""
)){
JSONArray
statusList
=
new
JSONArray
();
statusList
.
add
(
status
);
body
.
put
(
"statusList"
,
statusList
);
}
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
/**
* @description:撤回合同
* @author: xuyamei
* @date: 2024/8/6 10:40
* @param contractId
* @return: void
**/
public
void
retractContract
(
String
contractId
){
setUp
(
"API_retractContract"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"id"
,
contractId
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
public
JSONObject
getContract
(
String
contractId
){
setUp
(
"API_getContract"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"id"
,
contractId
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
}
/**
* @description: 电子合同关联订单
* @author: xuyamei
* @date: 2024/8/6 15:02
* @param contractId :合同id
* @param associatedNo :订单号
* @param associatedId 订单id
* @return: void
**/
public
void
associate
(
String
contractId
,
String
associatedNo
,
String
associatedId
){
setUp
(
"API_associate"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"contractId"
,
contractId
);
body
.
put
(
"associatedNo"
,
associatedNo
);
body
.
put
(
"associatedId"
,
associatedId
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
/**
* @description:合同取消关联订单
* @author: xuyamei
* @date: 2024/8/6 15:47
* @param contractId 合同id
* @return: void
**/
public
void
disAssociate
(
String
contractId
){
setUp
(
"API_disAssociate"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"id"
,
contractId
);
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestCheckContractConfig.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 16:23
* @Description: 校验租户合同配置
* @Version: 1.0
*/
public
class
TestCheckContractConfig
extends
BaseTestImpl
{
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_checkContractConfig"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testCheckContractConfig
(){
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"tenantId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"checkAll"
,
true
);
String
[]
types
=
{
"VERIFY_RESULT"
,
"COMPANY_SIGNATURE"
,
"HAS_LEFT"
};
body
.
put
(
"checkTypes"
,
types
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
response
=
xmAppApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
Assert
.
assertFalse
(
response
.
getBoolean
(
"checkPass"
));
String
[]
checkTypes
=
{
"VERIFY_RESULT"
,
"COMPANY_SIGNATURE"
,
"HAS_LEFT"
};
for
(
int
i
=
0
;
i
<
checkTypes
.
length
;
i
++){
Assert
.
assertTrue
(
response
.
getJSONObject
(
"checkFailResult"
).
getBoolean
(
checkTypes
[
i
]));
}
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetCompanyAuthSignResult.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 11:36
* @Description: 查询企业授权结果
* @Version: 1.0
*/
public
class
TestGetCompanyAuthSignResult
extends
BaseTestImpl
{
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_getCompanyAuthSignResult"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testGetCompanyAuthSignResult
(){
String
body
=
"{\"tenantId\":\""
+
xmAppApi
.
getLoginInfo
().
getStudioId
()+
"\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
Assert
.
assertTrue
(
xmAppApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getBoolean
(
"isSuccess"
),
"场馆已经授权,但查到的结果不是true"
);
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetCompanyCert.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 11:52
* @Description: 获取企业实名证书
* @Version: 1.0
*/
public
class
TestGetCompanyCert
extends
BaseTestImpl
{
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_getCompanyCert"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testGetCompanyCert
(){
String
body
=
"{\"tenantId\":\""
+
xmAppApi
.
getLoginInfo
().
getStudioId
()+
"\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
xmAppApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getString
(
"sequenceNo"
),
"4CB4000000000000094C2A93"
,
"获取实名认证证书失败"
);
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetCompanyLastSuccessVerifyResult.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 11:40
* @Description: 获取企业最新一次成功的认证结果
* @Version: 1.0
*/
public
class
TestGetCompanyLastSuccessVerifyResult
extends
BaseTestImpl
{
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_getCompanyLastSuccessVerifyResult"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testGetCompanyLastSuccessVerifyResult
(){
String
body
=
"{\"tenantId\":\""
+
xmAppApi
.
getLoginInfo
().
getStudioId
()+
"\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
xmAppApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getString
(
"status"
),
"AUDIT_SUCCEEDED"
,
"场馆已经授权,但查到的结果不是true"
);
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetCompanyLastVerifyStatus.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 11:28
* @Description: 获取企业最新的认证结果-只有状态
* @Version: 1.0
*/
public
class
TestGetCompanyLastVerifyStatus
extends
BaseTestImpl
{
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_getCompanyLastVerifyStatus"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testGetCompanyLastVerifyStatus
(){
String
body
=
"{\"tenantId\":\""
+
xmAppApi
.
getLoginInfo
().
getStudioId
()+
"\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
xmAppApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getString
(
"status"
),
"AUDIT_SUCCEEDED"
,
"场馆已经认证,获取的企业最新的认证结果返回的不是AUDIT_SUCCEEDED"
);
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetCompanySignature.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 11:44
* @Description: 获取企业签章
* @Version: 1.0
*/
public
class
TestGetCompanySignature
extends
BaseTestImpl
{
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_getCompanySignature"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testGetCompanySignature
(){
String
body
=
"{\"tenantId\":\""
+
xmAppApi
.
getLoginInfo
().
getStudioId
()+
"\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
xmAppApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getString
(
"signatureUrl"
),
"https://fit-resource-pub.xiaomai5.com/fitness/1796482011391729666/BRAND/eleContract/1815396391027736577/20240722224002/signature.png"
,
"获取企业签章失败"
);
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetContractEditDisplay.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 17:21
* @Description: 获取合同编辑展示页-首次创建
* @Version: 1.0
*/
public
class
TestGetContractEditDisplay
extends
BaseTestImpl
{
@Resource
(
name
=
"eleContractTools"
)
EleContractTools
eleContractTools
;
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_getContractEditDisplay"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testGetContractEditDisplay
(){
// 查询指定的模版
String
templateId
=
eleContractTools
.
getNormalTemplateList
(
"自动化"
).
getJSONObject
(
0
).
getString
(
"id"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"adminId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"templateId"
,
templateId
);
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
JSONObject
response
=
xmAppApi
.
getBodyInJSON
().
getJSONObject
(
"result"
);
JSONArray
contractPdfVOList
=
response
.
getJSONArray
(
"contractPdfVOList"
);
for
(
int
i
=
0
;
i
<
contractPdfVOList
.
getJSONObject
(
0
).
getJSONArray
(
"contractFieldVOList"
).
size
();
i
++){
if
(
contractPdfVOList
.
getJSONObject
(
0
).
getJSONArray
(
"contractFieldVOList"
).
getJSONObject
(
i
).
getString
(
"templateField"
).
equals
(
"COMPANY_NAME"
)){
// 验证返回的公司名称
Assert
.
assertTrue
(
contractPdfVOList
.
getJSONObject
(
0
).
getJSONArray
(
"contractFieldVOList"
).
getJSONObject
(
i
).
getString
(
"value"
).
equals
(
"杭州牧歌供应链管理有限公司"
));
}
else
if
(
contractPdfVOList
.
getJSONObject
(
0
).
getJSONArray
(
"contractFieldVOList"
).
getJSONObject
(
i
).
getString
(
"templateField"
).
equals
(
"TENANT_NAME"
)){
// 验证返回的场馆名称
Assert
.
assertTrue
(
contractPdfVOList
.
getJSONObject
(
0
).
getJSONArray
(
"contractFieldVOList"
).
getJSONObject
(
i
).
getString
(
"value"
).
equals
(
"小小瑜伽城西银泰西湖场馆"
));
}
}
Assert
.
assertTrue
(
response
.
getJSONObject
(
"templateVO"
).
getJSONArray
(
"fieldConfigVOList"
).
size
()>=
6
,
"模版字段数量大于等于6"
);
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetNormalTemplateList.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 11:58
* @Description: 获取合同模版列表
* @Version: 1.0
*/
public
class
TestGetNormalTemplateList
extends
BaseTestImpl
{
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_getNormalTemplateList"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testGetNormalTemplateList
(){
String
body
=
"{\"tenantId\":\""
+
xmAppApi
.
getLoginInfo
().
getStudioId
()+
"\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
Assert
.
assertTrue
(
xmAppApi
.
getBodyInJSON
().
getJSONArray
(
"result"
).
size
()>=
1
,
"获取模版管理列表数据失败"
);
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetSuiteList.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 15:33
* @Description:获取合同充值套餐列表
* @Version: 1.0
*/
public
class
TestGetSuiteList
extends
BaseTestImpl
{
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_getSuiteList"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testGetValidBalanceList
()
{
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
String
[]
keys
=
new
String
[]{
"productCode"
,
"productName"
,
"validPeriodYear"
,
"amount"
,
"price"
,
"oriUnitPrice"
,
"unitPrice"
};
String
[]
values1
=
new
String
[]{
"E_CONT_100_1Y"
,
"电子合同100份"
,
"1"
,
"100"
,
"49800"
,
"698"
,
"498"
};
String
[]
values2
=
new
String
[]{
"E_CONT_200_1Y"
,
"电子合同200份"
,
"1"
,
"200"
,
"79600"
,
"598"
,
"398"
};
String
[]
values3
=
new
String
[]{
"E_CONT_500_2Y"
,
"电子合同500份"
,
"2"
,
"500"
,
"149000"
,
"498"
,
"298"
};
String
[]
values4
=
new
String
[]{
"E_CONT_1000_2Y"
,
"电子合同1000份"
,
"2"
,
"1000"
,
"198000"
,
"398"
,
"198"
};
for
(
int
i
=
0
;
i
<
4
;
i
++){
String
[]
values
=
i
==
0
?
values1
:
i
==
1
?
values2
:
i
==
2
?
values3
:
values4
;
for
(
int
j
=
0
;
j
<
keys
.
length
;
j
++){
Assert
.
assertEquals
(
xmAppApi
.
getBodyInJSON
().
getJSONArray
(
"result"
).
getJSONObject
(
i
).
getString
(
keys
[
j
]),
values
[
j
]);
}
}
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetTemplate.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 13:54
* @Description: 获取单个合同模板
* @Version: 1.0
*/
public
class
TestGetTemplate
extends
BaseTestImpl
{
@Resource
(
name
=
"eleContractTools"
)
EleContractTools
eleContractTools
;
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_getTemplate"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testGetTemplate
(){
String
id
=
eleContractTools
.
getNormalTemplateList
(
""
).
getJSONObject
(
0
).
getString
(
"id"
);
String
body
=
"{\"id\":\""
+
id
+
"\"}"
;
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
,
headers
).
assetsSuccess
(
true
);
Assert
.
assertEquals
(
xmAppApi
.
getBodyInJSON
().
getJSONObject
(
"result"
).
getString
(
"id"
),
id
);
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestGetValidBalanceList.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 14:55
* @Description: 获取租户有效余额记录
* @Version: 1.0
*/
public
class
TestGetValidBalanceList
extends
BaseTestImpl
{
@Resource
(
name
=
"eleContractTools"
)
EleContractTools
eleContractTools
;
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_getValidBalanceList"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testGetValidBalanceList
(){
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"tenantId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
Assert
.
assertTrue
(
xmAppApi
.
getBodyInJSON
().
getJSONArray
(
"result"
).
size
()>
0
,
"获取租户有效余额记录失败"
);
// 和充值记录的数据对比
String
[]
keys
=
{
"id"
,
"tenantId"
,
"productCode"
,
"purchaseAmount"
,
"startTime"
,
"endTime"
,
"payChannel"
};
for
(
int
i
=
0
;
i
<
keys
.
length
;
i
++){
Assert
.
assertEquals
(
xmAppApi
.
getBodyInJSON
().
getJSONArray
(
"result"
).
getJSONObject
(
0
).
getString
(
keys
[
i
]),
eleContractTools
.
getBalanceList
().
getJSONObject
(
0
).
getString
(
keys
[
i
]),
"获取租户有效余额记录与充值记录列表内容对比"
);
}
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestSetBalanceWarning.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
import
java.util.Random
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 15:25
* @Description: 设置租户的预警配置
* @Version: 1.0
*/
public
class
TestSetBalanceWarning
extends
BaseTestImpl
{
@Resource
(
name
=
"eleContractTools"
)
EleContractTools
eleContractTools
;
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_setBalanceWarning"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
@Test
public
void
testSetBalanceWarning
(){
// 获取预警id
JSONObject
balanceWarning
=
eleContractTools
.
getBalanceWarning
();
String
id
=
balanceWarning
.
getString
(
"id"
);
Random
random
=
new
Random
();
int
amount
=
random
.
nextInt
(
100
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"warnAmount"
,
amount
);
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
body
.
put
(
"notifyPhone"
,
"13120057004"
);
body
.
put
(
"id"
,
id
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
// 设置完成后查询设置的预警值
balanceWarning
=
eleContractTools
.
getBalanceWarning
();
String
[]
keys
=
{
"warnAmount"
,
"notifyPhone"
,
"id"
};
String
[]
values
=
{
amount
+
""
,
"13120057004"
,
id
};
for
(
int
i
=
0
;
i
<
keys
.
length
;
i
++){
Assert
.
assertEquals
(
balanceWarning
.
getString
(
keys
[
i
]),
values
[
i
]);
}
}
}
src/main/java/com/xiaomai/cases/polar/eleContract/TestStartContractV2.java
0 → 100644
View file @
9cc8f5b2
package
com
.
xiaomai
.
cases
.
polar
.
eleContract
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.basetest.BaseTestImpl
;
import
com.xiaomai.cases.polar.finance.order.OrderTools
;
import
com.xiaomai.cases.polar.training.TrainingTools
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.Terminal
;
import
com.xiaomai.utils.TimeUtils
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
javax.annotation.Resource
;
/**
* @BelongsProject: xm-sportstest
* @BelongsPackage: com.xiaomai.cases.polar.eleContract
* @Author: xuyamei
* @CreateTime: 2024-08-05 18:01
* @Description: 发起合同、撤回合同
* @Version: 1.0
*/
public
class
TestStartContractV2
extends
BaseTestImpl
{
@Resource
(
name
=
"eleContractTools"
)
EleContractTools
eleContractTools
;
@Resource
(
name
=
"trainingTools"
)
TrainingTools
trainingTools
;
@Resource
(
name
=
"orderTools"
)
OrderTools
orderTools
;
@BeforeMethod
@Override
public
void
beforeTest
(){
setTestInfo
(
ApiModule
.
Polar_EleContract
,
"API_startContractV2"
,
LoginAccount
.
DZHT_PROD
,
Terminal
.
B
,
"xym"
);
super
.
beforeTest
();
}
private
String
eleContractId
;
private
String
studentId
;
@Test
(
description
=
"发起电子合同"
)
public
void
testStartContractV2
(){
// 查询发起的合同的学员
studentId
=
trainingTools
.
searchTargerMember
(
"13120057004"
);
// 获取合同模版编辑内容
String
templateId
=
eleContractTools
.
getNormalTemplateList
(
"自动化"
).
getJSONObject
(
0
).
getString
(
"id"
);
JSONObject
getContractEditDisplay
=
eleContractTools
.
getContractEditDisplay
(
templateId
);
String
contractName
=
"自动化发起合同"
+
TimeUtils
.
getCurrentTime
();
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"targetId"
,
studentId
);
// 学员id
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
// 学员id
body
.
put
(
"adminId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
// 学员id
// contractList 存放模版具体的内容
JSONArray
contractList
=
new
JSONArray
();
JSONObject
contract
=
new
JSONObject
();
contract
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
contract
.
put
(
"contractName"
,
contractName
);
contract
.
put
(
"templateId"
,
templateId
);
JSONArray
contractFiledRequestList
=
new
JSONArray
();
int
size
=
getContractEditDisplay
.
getJSONObject
(
"templateVO"
).
getJSONArray
(
"fieldConfigVOList"
).
size
();
// 企业信息和场馆信息塞进去
for
(
int
i
=
0
;
i
<
getContractEditDisplay
.
getJSONArray
(
"contractPdfVOList"
).
getJSONObject
(
0
).
getJSONArray
(
"contractFieldVOList"
).
size
();
i
++){
JSONObject
contractFiledRequest
=
new
JSONObject
();
contractFiledRequest
.
put
(
"id"
,
getContractEditDisplay
.
getJSONArray
(
"contractPdfVOList"
).
getJSONObject
(
0
).
getJSONArray
(
"contractFieldVOList"
).
getJSONObject
(
i
).
getString
(
"id"
));
contractFiledRequest
.
put
(
"templateField"
,
getContractEditDisplay
.
getJSONArray
(
"contractPdfVOList"
).
getJSONObject
(
0
).
getJSONArray
(
"contractFieldVOList"
).
getJSONObject
(
i
).
getString
(
"templateField"
));
contractFiledRequest
.
put
(
"value"
,
getContractEditDisplay
.
getJSONArray
(
"contractPdfVOList"
).
getJSONObject
(
0
).
getJSONArray
(
"contractFieldVOList"
).
getJSONObject
(
i
).
getString
(
"value"
));
contractFiledRequestList
.
add
(
contractFiledRequest
);
}
// 模版中的其余信息
for
(
int
i
=
0
;
i
<
size
;
i
++){
JSONObject
contractFiledRequest
=
new
JSONObject
();
String
templateField
=
getContractEditDisplay
.
getJSONObject
(
"templateVO"
).
getJSONArray
(
"fieldConfigVOList"
).
getJSONObject
(
i
).
getString
(
"templateField"
);
if
(!
templateField
.
equals
(
"COMPANY_NAME"
)
&&
!
templateField
.
equals
(
"TENANT_NAME"
)
&&
!
templateField
.
equals
(
"COMPANY_SIGNATURE"
)
&&
!
templateField
.
equals
(
"PERSON_SIGNATURE"
))
{
// 获取的内容不包含类型为企业名称、校区名称、企业签章、家长签字
contractFiledRequest
.
put
(
"id"
,
getContractEditDisplay
.
getJSONObject
(
"templateVO"
).
getJSONArray
(
"fieldConfigVOList"
).
getJSONObject
(
i
).
getString
(
"id"
));
contractFiledRequest
.
put
(
"templateField"
,
templateField
);
contractFiledRequest
.
put
(
"value"
,
""
);
contractFiledRequestList
.
add
(
contractFiledRequest
);
}
else
if
(
templateField
.
equals
(
"MEMBER_NAME"
)){
contractFiledRequest
.
put
(
"id"
,
getContractEditDisplay
.
getJSONObject
(
"templateVO"
).
getJSONArray
(
"fieldConfigVOList"
).
getJSONObject
(
i
).
getString
(
"id"
));
contractFiledRequest
.
put
(
"templateField"
,
templateField
);
contractFiledRequest
.
put
(
"value"
,
"测试学员"
);
contractFiledRequestList
.
add
(
contractFiledRequest
);
}
else
if
(
templateField
.
equals
(
"PHONE"
)){
contractFiledRequest
.
put
(
"id"
,
getContractEditDisplay
.
getJSONObject
(
"templateVO"
).
getJSONArray
(
"fieldConfigVOList"
).
getJSONObject
(
i
).
getString
(
"id"
));
contractFiledRequest
.
put
(
"templateField"
,
templateField
);
contractFiledRequest
.
put
(
"value"
,
"13120057004"
);
contractFiledRequestList
.
add
(
contractFiledRequest
);
}
}
contract
.
put
(
"contractFiledRequestList"
,
contractFiledRequestList
);
contractList
.
add
(
contract
);
body
.
put
(
"contractList"
,
contractList
);
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
body
.
toString
(),
headers
).
assetsSuccess
(
true
);
String
taskId
=
xmAppApi
.
getBodyInJSON
().
getString
(
"result"
);
// 获取发起合同任务的状态
eleContractTools
.
getStartContractV2Result
(
taskId
);
while
(
true
){
boolean
result
=
eleContractTools
.
getStartContractV2Result
(
taskId
);
if
(
result
){
break
;
}
}
// 验证1:合同列表 合同状态为待签署
boolean
dataExist
=
false
;
JSONArray
getContractPage
=
eleContractTools
.
getContractPage
(
studentId
,
""
,
""
).
getJSONArray
(
"records"
);
for
(
int
i
=
0
;
i
<
getContractPage
.
size
();
i
++){
if
(
getContractPage
.
getJSONObject
(
i
).
getString
(
"name"
).
equals
(
contractName
)){
dataExist
=
true
;
eleContractId
=
getContractPage
.
getJSONObject
(
i
).
getString
(
"id"
);
Assert
.
assertEquals
(
getContractPage
.
getJSONObject
(
i
).
getString
(
"contractStatus"
),
"WAIT_C"
);
}
}
Assert
.
assertTrue
(
dataExist
,
"发起合同后在合同列表没有查到相关合同"
);
// 待签署的合同数量
int
total
=
Integer
.
parseInt
(
eleContractTools
.
getContractPage
(
""
,
""
,
"WAIT_C"
).
getString
(
"total"
));
// 验证2:校验锁定额度
int
lockAmount
=
eleContractTools
.
getValidBalanceList
().
getJSONObject
(
0
).
getInteger
(
"lockAmount"
);
Assert
.
assertTrue
(
lockAmount
==
total
,
"锁定额度与合同列表中待签署合同数量不一致"
);
// 验证3:合同状态、归属人
JSONObject
getContract
=
eleContractTools
.
getContract
(
eleContractId
);
String
[]
keys
=
{
"contractStatus"
,
"targetId"
};
String
[]
values
=
{
"WAIT_C"
,
studentId
};
for
(
int
i
=
0
;
i
<
keys
.
length
;
i
++){
Assert
.
assertEquals
(
getContract
.
getString
(
keys
[
i
]),
values
[
i
],
"合同状态、归属人与预期不一致"
);
}
}
@Test
(
priority
=
1
,
description
=
"关联订单"
)
public
void
testAssociate
(){
// 关联订单
// 查询学员关联的id
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"current"
,
0
);
body
.
put
(
"size"
,
20
);
body
.
put
(
"receiverId"
,
studentId
);
body
.
put
(
"supplierId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"type"
,
"SIGN"
);
String
[]
status
=
{
"WAITING"
,
"PAID"
,
"ARREARS"
};
body
.
put
(
"states"
,
status
);
body
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
body
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
JSONArray
pageVoucher
=
orderTools
.
pageVoucher
(
body
);
// 获取一条订单id
String
orderId
=
""
;
String
businessNo
=
""
;
for
(
int
i
=
0
;
i
<
pageVoucher
.
size
();
i
++){
if
(
pageVoucher
.
getJSONObject
(
i
).
getString
(
"source"
).
equals
(
"OFFLINE_SOURCE"
)){
businessNo
=
pageVoucher
.
getJSONObject
(
i
).
getString
(
"businessNo"
);
orderId
=
pageVoucher
.
getJSONObject
(
i
).
getString
(
"id"
);
}
}
eleContractTools
.
associate
(
eleContractId
,
businessNo
,
orderId
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// 验证1:合同详情 合同关联的订单id
JSONObject
getContract
=
eleContractTools
.
getContract
(
eleContractId
);
Assert
.
assertEquals
(
getContract
.
getString
(
"associatedNo"
),
businessNo
,
"合同关联的订单号与实际不一致"
);
Assert
.
assertEquals
(
getContract
.
getString
(
"associatedId"
),
orderId
,
"合同关联的订单id与实际不一致"
);
}
@Test
(
priority
=
3
,
description
=
"取消关联订单"
)
public
void
testDisAssociate
(){
// 取消关联
eleContractTools
.
disAssociate
(
eleContractId
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// 验证1:合同详情 合同关联的订单id
JSONObject
getContract
=
eleContractTools
.
getContract
(
eleContractId
);
Assert
.
assertEquals
(
getContract
.
getString
(
"associatedNo"
),
""
,
"合同取消关联的订单后关联的订单不为空"
);
}
@Test
(
priority
=
4
,
description
=
"撤销电子合同"
)
public
void
testRetractContract
(){
eleContractTools
.
retractContract
(
eleContractId
);
try
{
Thread
.
sleep
(
2000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
// 验证1:合同详情 合同状态为已撤回
JSONObject
getContract
=
eleContractTools
.
getContract
(
eleContractId
);
Assert
.
assertEquals
(
getContract
.
getString
(
"contractStatus"
),
"REVOKE"
,
"合同状态非已撤回"
);
// 待签署的合同数量
int
total
=
Integer
.
parseInt
(
eleContractTools
.
getContractPage
(
""
,
""
,
"WAIT_C"
).
getString
(
"total"
));
// 验证2:校验锁定额度
int
lockAmount
=
eleContractTools
.
getValidBalanceList
().
getJSONObject
(
0
).
getInteger
(
"lockAmount"
);
Assert
.
assertTrue
(
lockAmount
==
total
,
"锁定额度与合同列表中待签署合同数量不一致"
);
}
}
src/main/java/com/xiaomai/cases/polar/finance/order/OrderTools.java
View file @
9cc8f5b2
...
...
@@ -157,6 +157,24 @@ public class OrderTools extends XMBaseTest {
}
/**
* @description:查询的订单
* @author: xuyamei
* @date: 2024/8/6 15:12
* @param jsonObject 请求参数
* @return: com.alibaba.fastjson.JSONObject
**/
public
JSONArray
pageVoucher
(
JSONObject
jsonObject
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Finance
)
.
setApiName
(
"API_pageVoucher"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
();
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toJSONString
(),
dataheadrs
).
assetsSuccess
(
true
);
JSONObject
response
=
dataApi
.
getBodyInJSON
();
return
response
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
}
/**
* @param
...
...
src/main/java/com/xiaomai/cases/polar/reserve/ReserveTools.java
View file @
9cc8f5b2
...
...
@@ -655,7 +655,7 @@ public class ReserveTools extends XMBaseTest {
* @param scheduleId : 课次id
* @return: void
**/
public
void
delPersonalScheduleItem
(
String
scheduleId
){
public
void
delPersonalScheduleItem
(
String
scheduleId
)
{
setUp
(
"API_delPersonalScheduleItem"
);
JSONObject
body
=
new
JSONObject
();
body
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
...
...
@@ -663,7 +663,7 @@ public class ReserveTools extends XMBaseTest {
body
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
body
.
put
(
"scheduleId"
,
scheduleId
);
body
.
put
(
"applyRestRule"
,
false
);
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
body
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
}
...
...
src/main/java/com/xiaomai/enums/ApiModule.java
View file @
9cc8f5b2
...
...
@@ -23,6 +23,7 @@ public class ApiModule {
public
static
String
Polar_Schedule
=
"polar_schedule"
;
//课程排期
public
static
String
Polar_Card
=
"polar_card"
;
//会员卡
public
static
String
Polar_Training
=
"polar_training"
;
//训练营活动
public
static
String
Polar_EleContract
=
"polar_eleContract"
;
//训练营活动
public
static
String
Polar_Coupon
=
"polar_coupon"
;
//优惠券
...
...
src/main/java/com/xiaomai/enums/LoginAccount.java
View file @
9cc8f5b2
...
...
@@ -18,6 +18,7 @@ public class LoginAccount {
public
static
String
XYM_MINIAPPC
=
"xym_miniAppC"
;
public
static
String
GYM_MINIAPPC
=
"gym_miniAppC"
;
public
static
String
XYY_PROD
=
"xyy_prod"
;
public
static
String
DZHT_PROD
=
"dzht_prod"
;
// 电子合同账户
}
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