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
4c3344e1
Commit
4c3344e1
authored
Dec 31, 2024
by
yangfangfang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
物品
parent
bab56aee
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
763 additions
and
13 deletions
+763
-13
src/main/java/com/xiaomai/cases/lunar/goods/TestListXcxGoodsGroup.java
+4
-2
src/main/java/com/xiaomai/cases/polar/goods/TestCreateGoods.java
+16
-5
src/main/java/com/xiaomai/cases/polar/goods/TestCreateGoodsGroup.java
+2
-2
src/main/java/com/xiaomai/cases/polar/goods/TestDeleteGood.java
+2
-2
src/main/java/com/xiaomai/cases/polar/goods/TestModifyGoods.java
+711
-0
src/main/java/com/xiaomai/cases/polar/goods/Tools/GoodTools.java
+28
-2
No files found.
src/main/java/com/xiaomai/cases/lunar/goods/
testLl
istXcxGoodsGroup.java
→
src/main/java/com/xiaomai/cases/lunar/goods/
TestL
istXcxGoodsGroup.java
View file @
4c3344e1
...
@@ -13,7 +13,7 @@ import org.testng.annotations.BeforeMethod;
...
@@ -13,7 +13,7 @@ import org.testng.annotations.BeforeMethod;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
public
class
testLl
istXcxGoodsGroup
extends
BaseTestImpl
{
public
class
TestL
istXcxGoodsGroup
extends
BaseTestImpl
{
GoodCTools
goodCTools
=
new
GoodCTools
();
GoodCTools
goodCTools
=
new
GoodCTools
();
GoodTools
goodTools
=
new
GoodTools
();
GoodTools
goodTools
=
new
GoodTools
();
...
@@ -61,11 +61,13 @@ public class testLlistXcxGoodsGroup extends BaseTestImpl {
...
@@ -61,11 +61,13 @@ public class testLlistXcxGoodsGroup extends BaseTestImpl {
//case2:获取小程序物品分组列表:有这个分组数据,因为创建了一个单规格&启用&开启小程序售卖的物品
//case2:获取小程序物品分组列表:有这个分组数据,因为创建了一个单规格&启用&开启小程序售卖的物品
//新建物品
//新建物品
//创建了一个单规格&启用&开启小程序售卖
//创建了一个单规格&启用&开启小程序售卖
JSONObject
createGoods
=
goodTools
.
testC
reateGoods_single
(
"YES"
,
"0.01"
,
10
,
info
);
JSONObject
createGoods
=
goodTools
.
c
reateGoods_single
(
"YES"
,
"0.01"
,
10
,
info
);
createGoodsId
=
createGoods
.
getString
(
"result"
);
createGoodsId
=
createGoods
.
getString
(
"result"
);
//移动至这个分组
//移动至这个分组
JSONObject
batchModifyGoodsBelongGroup
=
goodTools
.
batchModifyGoodsBelongGroup
(
"1873903771989471234"
,
createGoodsId
,
info
);
JSONObject
batchModifyGoodsBelongGroup
=
goodTools
.
batchModifyGoodsBelongGroup
(
"1873903771989471234"
,
createGoodsId
,
info
);
String
batchModifyGoodsBelongGroupSuccess
=
batchModifyGoodsBelongGroup
.
getJSONObject
(
"result"
).
getString
(
"success"
);
Assert
.
assertEquals
(
batchModifyGoodsBelongGroupSuccess
,
"1"
,
"移动一个物品至该分组失败"
);
try
{
try
{
Thread
.
sleep
(
3000
);
Thread
.
sleep
(
3000
);
...
...
src/main/java/com/xiaomai/cases/polar/goods/
c
reateGoods.java
→
src/main/java/com/xiaomai/cases/polar/goods/
TestC
reateGoods.java
View file @
4c3344e1
...
@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject;
...
@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject;
import
com.xiaomai.cases.lunar.goods.GoodCTools
;
import
com.xiaomai.cases.lunar.goods.GoodCTools
;
import
com.xiaomai.cases.polar.goods.Tools.GoodTools
;
import
com.xiaomai.cases.polar.goods.Tools.GoodTools
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.client.DataUserInfo
;
import
com.xiaomai.client.XMAppApi
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.ApiModule
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.LoginAccount
;
import
com.xiaomai.enums.RequestType
;
import
com.xiaomai.enums.RequestType
;
...
@@ -16,7 +15,7 @@ import org.testng.Assert;
...
@@ -16,7 +15,7 @@ import org.testng.Assert;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
public
class
c
reateGoods
extends
XMBaseTest
{
public
class
TestC
reateGoods
extends
XMBaseTest
{
GoodTools
goodTools
=
new
GoodTools
();
GoodTools
goodTools
=
new
GoodTools
();
GoodCTools
goodCTools
=
new
GoodCTools
();
GoodCTools
goodCTools
=
new
GoodCTools
();
...
@@ -39,10 +38,10 @@ public class createGoods extends XMBaseTest {
...
@@ -39,10 +38,10 @@ public class createGoods extends XMBaseTest {
}
}
@Test
(
description
=
"创建物品-多规格"
)
@Test
(
description
=
"创建物品-多规格"
)
public
void
testCreateGoods
()
{
public
void
testCreateGoods
_multiple
()
{
//分组是存量的: "id": "1873912725360504834","name": "自动化分组多规格",因为只能创建10个,超了的话
还是要
用存量的
//分组是存量的: "id": "1873912725360504834","name": "自动化分组多规格",因为只能创建10个,超了的话
影响后续流程还所以还是
用存量的
//获取B端物品列表
//获取B端物品列表
JSONObject
beforeTotalStudioGoods
=
goodTools
.
studioGoods
();
JSONObject
beforeTotalStudioGoods
=
goodTools
.
studioGoods
();
...
@@ -345,6 +344,12 @@ public class createGoods extends XMBaseTest {
...
@@ -345,6 +344,12 @@ public class createGoods extends XMBaseTest {
Assert
.
assertTrue
(
listMultiSpecInventorRecordsSpecListId2
.
equals
(
getDetailSpecListId2
),
"新建物品的库存详情的规格2的规格ID和物品详情的规格2的规格ID不一致"
);
Assert
.
assertTrue
(
listMultiSpecInventorRecordsSpecListId2
.
equals
(
getDetailSpecListId2
),
"新建物品的库存详情的规格2的规格ID和物品详情的规格2的规格ID不一致"
);
Assert
.
assertTrue
(
listMultiSpecInventorRecordsSpecListId3
.
equals
(
getDetailSpecListId3
),
"新建物品的库存详情的规格3的规格ID和物品详情的规格3的规格ID不一致"
);
Assert
.
assertTrue
(
listMultiSpecInventorRecordsSpecListId3
.
equals
(
getDetailSpecListId3
),
"新建物品的库存详情的规格3的规格ID和物品详情的规格3的规格ID不一致"
);
//校验6:生成一条编辑记录,类型为新建物品
JSONObject
pageGoodsModifyRecord
=
goodTools
.
pageGoodsModifyRecord
(
studioResult1
);
String
pageGoodsModifyRecordResult
=
pageGoodsModifyRecord
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"type"
);
Assert
.
assertEquals
(
pageGoodsModifyRecordResult
,
"CREATE"
,
"创建多规格物品后,未生成类型为新建的编辑记录"
);
try
{
try
{
Thread
.
sleep
(
5000
);
Thread
.
sleep
(
5000
);
...
@@ -355,7 +360,7 @@ public class createGoods extends XMBaseTest {
...
@@ -355,7 +360,7 @@ public class createGoods extends XMBaseTest {
}
}
@Test
(
description
=
"创建物品-单规格"
)
@Test
(
description
=
"创建物品-单规格"
)
public
void
testCreateGoods_
1
()
{
public
void
testCreateGoods_
single
()
{
//单规格:"id": "1873903328974499841", "name": "自动化分组单规格",
//单规格:"id": "1873903328974499841", "name": "自动化分组单规格",
...
@@ -479,6 +484,12 @@ public class createGoods extends XMBaseTest {
...
@@ -479,6 +484,12 @@ public class createGoods extends XMBaseTest {
Assert
.
assertEquals
(
xcxSaleState_C
,
"YES"
,
"新建物品是开启小程序售卖,但C端物品详情展示非开启小程序售卖"
);
Assert
.
assertEquals
(
xcxSaleState_C
,
"YES"
,
"新建物品是开启小程序售卖,但C端物品详情展示非开启小程序售卖"
);
//校验5:生成一条编辑记录,类型为新建物品
JSONObject
pageGoodsModifyRecord
=
goodTools
.
pageGoodsModifyRecord
(
studioResult2
);
String
pageGoodsModifyRecordResult
=
pageGoodsModifyRecord
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"type"
);
Assert
.
assertEquals
(
pageGoodsModifyRecordResult
,
"CREATE"
,
"创建多规格物品后,未生成类型为新建的编辑记录"
);
}
}
...
...
src/main/java/com/xiaomai/cases/polar/goods/
c
reateGoodsGroup.java
→
src/main/java/com/xiaomai/cases/polar/goods/
TestC
reateGoodsGroup.java
View file @
4c3344e1
...
@@ -11,7 +11,7 @@ import org.testng.Assert;
...
@@ -11,7 +11,7 @@ import org.testng.Assert;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
public
class
c
reateGoodsGroup
extends
XMBaseTest
{
public
class
TestC
reateGoodsGroup
extends
XMBaseTest
{
GoodTools
goodTools
=
new
GoodTools
();
GoodTools
goodTools
=
new
GoodTools
();
String
name1
=
"自动化创建分组"
;
String
name1
=
"自动化创建分组"
;
...
@@ -77,7 +77,7 @@ public class createGoodsGroup extends XMBaseTest {
...
@@ -77,7 +77,7 @@ public class createGoodsGroup extends XMBaseTest {
}
}
//新建一个物品
//新建一个物品
JSONObject
create
=
goodTools
.
testC
reateGoods_multiple
(
"YES"
,
"0.01"
,
10
);
JSONObject
create
=
goodTools
.
c
reateGoods_multiple
(
"YES"
,
"0.01"
,
10
);
createId
=
create
.
getString
(
"result"
);
createId
=
create
.
getString
(
"result"
);
//新建分组成功后,批量移动物品至其分组
//新建分组成功后,批量移动物品至其分组
...
...
src/main/java/com/xiaomai/cases/polar/goods/
d
eleteGood.java
→
src/main/java/com/xiaomai/cases/polar/goods/
TestD
eleteGood.java
View file @
4c3344e1
...
@@ -12,7 +12,7 @@ import org.testng.Assert;
...
@@ -12,7 +12,7 @@ import org.testng.Assert;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
org.testng.annotations.Test
;
public
class
d
eleteGood
extends
XMBaseTest
{
public
class
TestD
eleteGood
extends
XMBaseTest
{
GoodTools
goodTools
=
new
GoodTools
();
GoodTools
goodTools
=
new
GoodTools
();
...
@@ -33,7 +33,7 @@ public class deleteGood extends XMBaseTest {
...
@@ -33,7 +33,7 @@ public class deleteGood extends XMBaseTest {
public
void
testCreateGoods
()
{
public
void
testCreateGoods
()
{
//新建物品
//新建物品
JSONObject
createGoods
=
goodTools
.
testC
reateGoods_multiple
(
"YES"
,
"0.01"
,
10
);
JSONObject
createGoods
=
goodTools
.
c
reateGoods_multiple
(
"YES"
,
"0.01"
,
10
);
String
id
=
createGoods
.
getString
(
"result"
);
String
id
=
createGoods
.
getString
(
"result"
);
...
...
src/main/java/com/xiaomai/cases/polar/goods/TestModifyGoods.java
0 → 100644
View file @
4c3344e1
package
com
.
xiaomai
.
cases
.
polar
.
goods
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.xiaomai.cases.lunar.goods.GoodCTools
;
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.XMBaseTest
;
import
org.testng.Assert
;
import
org.testng.annotations.BeforeMethod
;
import
org.testng.annotations.Test
;
import
java.math.RoundingMode
;
public
class
TestModifyGoods
extends
XMBaseTest
{
GoodTools
goodTools
=
new
GoodTools
();
GoodCTools
goodCTools
=
new
GoodCTools
();
String
createGoodsId
;
DataUserInfo
info
=
new
DataUserInfo
();
@BeforeMethod
public
void
beforeTest
()
{
xmAppApi
.
setApiModule
(
ApiModule
.
Polar_Goods
)
.
setApiName
(
"API_modifyGoods"
)
.
setLoginUser
(
LoginAccount
.
GYM_PROD
)
.
setTerminal
(
Terminal
.
B
);
dal
.
setCase_owner
(
"yff"
)
.
setCase_name
(
Thread
.
currentThread
().
getStackTrace
()[
1
].
getFileName
().
split
(
"\\."
)[
0
]);
super
.
beforeTest
();
}
@Test
(
description
=
"编辑物品"
)
public
void
testModifyGoods
()
{
//切换端位
info
.
setTerminal
(
Terminal
.
minApp
);
info
.
setLoginUser
(
LoginAccount
.
GYM_MINIAPPC
);
String
name
=
"自动化编辑后单规格"
;
//case1:单规格改单规格
//创建了一个单规格&启用&开启小程序售卖
JSONObject
createGoods
=
goodTools
.
createGoods_single
(
"YES"
,
"0.01"
,
10
);
createGoodsId
=
createGoods
.
getString
(
"result"
);
//修改物品状态为关闭
JSONObject
modifyGoodsState
=
goodTools
.
modifyGoodsState
(
createGoodsId
,
"NO"
);
//单规格修改成单规格
//物品名称重名校验:为false才是不重名
boolean
checkRepeatNameForStudio
=
Boolean
.
parseBoolean
(
goodTools
.
checkRepeatNameForStudio
(
name
).
getString
(
"result"
));
if
(
checkRepeatNameForStudio
==
false
)
{
JSONObject
jsonObject
=
new
JSONObject
();
//商品介绍不为空,纯文本
JSONObject
description
=
new
JSONObject
();
JSONArray
items
=
new
JSONArray
();
JSONObject
item1
=
new
JSONObject
();
item1
.
put
(
"type"
,
"TEXT"
);
item1
.
put
(
"content"
,
"自动化编辑后单规格"
);
item1
.
put
(
"aspect"
,
""
);
items
.
add
(
item1
);
description
.
put
(
"items"
,
items
);
jsonObject
.
put
(
"description"
,
description
.
toString
());
jsonObject
.
put
(
"groupId"
,
"1873903328974499841"
);
JSONArray
images
=
new
JSONArray
();
jsonObject
.
put
(
"images"
,
images
);
jsonObject
.
put
(
"multiSpec"
,
false
);
jsonObject
.
put
(
"name"
,
name
);
jsonObject
.
put
(
"xcxSaleState"
,
"YES"
);
JSONObject
jsonObject2
=
new
JSONObject
();
jsonObject2
.
put
(
"inventory"
,
"100"
);
jsonObject2
.
put
(
"price"
,
"0.09"
);
jsonObject
.
put
(
"singleSpecInfo"
,
jsonObject2
);
jsonObject
.
put
(
"id"
,
createGoodsId
);
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
);
//校验1:修改后字段:获取B端物品详情
JSONObject
getDetail_goods
=
goodTools
.
getDetail_goods
(
createGoodsId
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
getDetail_goods
.
getString
(
"name"
),
"自动化编辑后单规格"
,
"编辑物品名称但详情非编辑后的物品名称"
);
Assert
.
assertEquals
(
getDetail_goods
.
getJSONObject
(
"group"
).
getString
(
"id"
),
"1873903328974499841"
,
"编辑物品分组但详情非编辑后的分组"
);
Assert
.
assertEquals
(
getDetail_goods
.
getBoolean
(
"multiSpec"
).
booleanValue
(),
false
,
"编辑成单规格但详情非编辑后的单规格"
);
Assert
.
assertEquals
(
getDetail_goods
.
getString
(
"state"
),
"YES"
,
"编辑成单规格成功后但详情非编辑后的启用状态"
);
Assert
.
assertEquals
(
getDetail_goods
.
getString
(
"xcxSaleState"
),
"YES"
,
"编辑成单规格成功后但详情非编辑后的开启小程序售卖"
);
Assert
.
assertEquals
(
getDetail_goods
.
getString
(
"inventory"
),
"100"
,
"编辑成单规格成功后但详情总库存非编辑后的100"
);
Assert
.
assertEquals
(
getDetail_goods
.
getJSONObject
(
"singleSpecInfo"
).
getString
(
"inventory"
),
"100"
,
"编辑成单规格成功后但详情库存非编辑后的100"
);
Assert
.
assertEquals
(
getDetail_goods
.
getJSONObject
(
"singleSpecInfo"
).
getBigDecimal
(
"price"
).
setScale
(
2
,
RoundingMode
.
HALF_UP
).
toString
(),
"0.09"
,
"编辑成单规格成功后但详情价格非编辑后的0.09"
);
//校验2:修改后字段:获取C端物品详情
JSONObject
getDetail_goodsC
=
goodCTools
.
getDetail_goods_C
(
createGoodsId
,
info
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
getDetail_goodsC
.
getString
(
"name"
),
"自动化编辑后单规格"
,
"编辑物品名称但详情非编辑后的物品名称"
);
Assert
.
assertEquals
(
getDetail_goodsC
.
getJSONObject
(
"group"
).
getString
(
"id"
),
"1873903328974499841"
,
"编辑物品分组但详情非编辑后的分组"
);
Assert
.
assertEquals
(
getDetail_goodsC
.
getBoolean
(
"multiSpec"
).
booleanValue
(),
false
,
"编辑成单规格但详情非编辑后的单规格"
);
Assert
.
assertEquals
(
getDetail_goodsC
.
getString
(
"state"
),
"YES"
,
"编辑成单规格成功后但详情非编辑后的启用状态"
);
Assert
.
assertEquals
(
getDetail_goodsC
.
getString
(
"xcxSaleState"
),
"YES"
,
"编辑成单规格成功后但详情非编辑后的开启小程序售卖"
);
Assert
.
assertEquals
(
getDetail_goodsC
.
getString
(
"inventory"
),
"100"
,
"编辑成单规格成功后但详情总库存非编辑后的100"
);
Assert
.
assertEquals
(
getDetail_goodsC
.
getJSONObject
(
"singleSpecInfo"
).
getString
(
"inventory"
),
"100"
,
"编辑成单规格成功后但详情库存非编辑后的100"
);
Assert
.
assertEquals
(
getDetail_goodsC
.
getJSONObject
(
"singleSpecInfo"
).
getBigDecimal
(
"price"
).
setScale
(
2
,
RoundingMode
.
HALF_UP
).
toString
(),
"0.09"
,
"编辑成单规格成功后但详情价格非编辑后的0.09"
);
//校验3:获取B端物品列表
JSONObject
afterStudioGoods
=
goodTools
.
studioGoods
();
JSONArray
records
=
afterStudioGoods
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
boolean
success
=
false
;
for
(
int
i
=
0
;
i
<
records
.
size
();
i
++)
{
if
(
records
.
getJSONObject
(
i
).
getString
(
"name"
).
equals
(
name
))
{
success
=
true
;
}
Assert
.
assertEquals
(
success
,
true
,
"物品列表中有此编辑后的物品名称"
);
}
//校验4:获取C端物品列表
JSONObject
afterStudioGoodsC
=
goodCTools
.
pageXcxHomeGoodsC
(
info
);
JSONArray
recordsC
=
afterStudioGoodsC
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
boolean
successC
=
false
;
for
(
int
i
=
0
;
i
<
recordsC
.
size
();
i
++)
{
if
(
recordsC
.
getJSONObject
(
i
).
getString
(
"name"
).
equals
(
name
))
{
successC
=
true
;
}
Assert
.
assertEquals
(
successC
,
true
,
"C端物品列表中有此编辑后的物品名称"
);
}
//校验5:生成一条编辑记录,类型为编辑物品
JSONObject
pageGoodsModifyRecord
=
goodTools
.
pageGoodsModifyRecord
(
createGoodsId
);
String
pageGoodsModifyRecordResult
=
pageGoodsModifyRecord
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"type"
);
Assert
.
assertEquals
(
pageGoodsModifyRecordResult
,
"MODIFY"
,
"创建多规格物品后,未生成类型为编辑物品的编辑记录"
);
try
{
Thread
.
sleep
(
5000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//case2:单规格改多规格
String
name1
=
"自动化编辑后多规格"
;
//校验5:获取编辑记录
JSONObject
beforePageGoodsModifyRecord1
=
goodTools
.
pageGoodsModifyRecord
(
createGoodsId
);
int
beforeTotal1
=
Integer
.
parseInt
(
beforePageGoodsModifyRecord1
.
getJSONObject
(
"result"
).
getString
(
"total"
));
//修改物品状态为关闭
JSONObject
modifyGoodsState1
=
goodTools
.
modifyGoodsState
(
createGoodsId
,
"NO"
);
//单规格修改成单规格
//物品名称重名校验:为false才是不重名
boolean
checkRepeatNameForStudio1
=
Boolean
.
parseBoolean
(
goodTools
.
checkRepeatNameForStudio
(
name1
).
getString
(
"result"
));
if
(
checkRepeatNameForStudio1
==
false
)
{
String
color1
=
"黑色"
;
String
color2
=
"白色"
;
String
size1
=
"大的"
;
String
size2
=
"小的"
;
String
skin1
=
"貂蝉"
;
String
skin2
=
"王昭君"
;
JSONObject
jsonObject1
=
new
JSONObject
();
//商品介绍为空
// JSONObject description=new JSONObject();
// jsonObject.put("description",description.toString());
//商品介绍不为空,纯文本
JSONObject
description1
=
new
JSONObject
();
JSONArray
items1
=
new
JSONArray
();
JSONObject
item11
=
new
JSONObject
();
item11
.
put
(
"type"
,
"TEXT"
);
item11
.
put
(
"content"
,
"自动化编辑后的多规格三个规格,每个规格都有两个规格值"
);
item11
.
put
(
"aspect"
,
""
);
items1
.
add
(
item11
);
description1
.
put
(
"items"
,
items1
);
jsonObject1
.
put
(
"description"
,
description1
.
toString
());
JSONArray
images1
=
new
JSONArray
();
jsonObject1
.
put
(
"images"
,
images1
);
jsonObject1
.
put
(
"groupId"
,
"1873912725360504834"
);
jsonObject1
.
put
(
"multiSpec"
,
true
);
jsonObject1
.
put
(
"name"
,
name1
);
jsonObject1
.
put
(
"xcxSaleState"
,
"YES"
);
JSONObject
multiSpecInfo
=
new
JSONObject
();
//设置三个规格和每个都有两个规格值
JSONArray
specList
=
new
JSONArray
();
JSONObject
specList1
=
new
JSONObject
();
specList1
.
put
(
"name"
,
"颜色"
);
JSONArray
specList1SpecValues
=
new
JSONArray
();
JSONObject
specList1SpecValues1
=
new
JSONObject
();
specList1SpecValues1
.
put
(
"name"
,
color1
);
JSONObject
specList1SpecValues2
=
new
JSONObject
();
specList1SpecValues2
.
put
(
"name"
,
color2
);
specList1SpecValues
.
add
(
specList1SpecValues1
);
specList1SpecValues
.
add
(
specList1SpecValues2
);
specList1
.
put
(
"specValues"
,
specList1SpecValues
);
JSONObject
specList2
=
new
JSONObject
();
specList2
.
put
(
"name"
,
"尺码"
);
JSONArray
specList2SpecValues
=
new
JSONArray
();
JSONObject
specList2SpecValues1
=
new
JSONObject
();
specList2SpecValues1
.
put
(
"name"
,
size1
);
JSONObject
specList2SpecValues2
=
new
JSONObject
();
specList2SpecValues2
.
put
(
"name"
,
size2
);
specList2SpecValues
.
add
(
specList2SpecValues1
);
specList2SpecValues
.
add
(
specList2SpecValues2
);
specList2
.
put
(
"specValues"
,
specList2SpecValues
);
JSONObject
specList3
=
new
JSONObject
();
specList3
.
put
(
"name"
,
"限定皮肤"
);
JSONArray
specList3SpecValues
=
new
JSONArray
();
JSONObject
specList3SpecValues1
=
new
JSONObject
();
specList3SpecValues1
.
put
(
"name"
,
skin1
);
JSONObject
specList3SpecValues2
=
new
JSONObject
();
specList3SpecValues2
.
put
(
"name"
,
skin2
);
specList3SpecValues
.
add
(
specList3SpecValues1
);
specList3SpecValues
.
add
(
specList3SpecValues2
);
specList3
.
put
(
"specValues"
,
specList3SpecValues
);
specList
.
add
(
specList1
);
specList
.
add
(
specList2
);
specList
.
add
(
specList3
);
multiSpecInfo
.
put
(
"specList"
,
specList
);
try
{
Thread
.
sleep
(
3000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//排列出来的组合2*2*2
JSONArray
specCombinationList
=
new
JSONArray
();
JSONObject
specCombinationList1
=
new
JSONObject
();
JSONArray
specCombinationList1Specs
=
new
JSONArray
();
specCombinationList1Specs
.
add
(
color1
);
specCombinationList1Specs
.
add
(
size1
);
specCombinationList1Specs
.
add
(
skin1
);
specCombinationList1
.
put
(
"specs"
,
specCombinationList1Specs
);
specCombinationList1
.
put
(
"price"
,
"0.01"
);
specCombinationList1
.
put
(
"inventory"
,
10
);
specCombinationList
.
add
(
specCombinationList1
);
JSONObject
specCombinationList2
=
new
JSONObject
();
JSONArray
specCombinationList2Specs
=
new
JSONArray
();
specCombinationList2Specs
.
add
(
color1
);
specCombinationList2Specs
.
add
(
size1
);
specCombinationList2Specs
.
add
(
skin2
);
specCombinationList2
.
put
(
"specs"
,
specCombinationList2Specs
);
specCombinationList2
.
put
(
"price"
,
"0.01"
);
specCombinationList2
.
put
(
"inventory"
,
10
);
specCombinationList
.
add
(
specCombinationList2
);
JSONObject
specCombinationList3
=
new
JSONObject
();
JSONArray
specCombinationList3Specs
=
new
JSONArray
();
specCombinationList3Specs
.
add
(
color1
);
specCombinationList3Specs
.
add
(
size2
);
specCombinationList3Specs
.
add
(
skin1
);
specCombinationList3
.
put
(
"specs"
,
specCombinationList3Specs
);
specCombinationList3
.
put
(
"price"
,
"0.01"
);
specCombinationList3
.
put
(
"inventory"
,
10
);
specCombinationList
.
add
(
specCombinationList3
);
JSONObject
specCombinationList4
=
new
JSONObject
();
JSONArray
specCombinationList4Specs
=
new
JSONArray
();
specCombinationList4Specs
.
add
(
color1
);
specCombinationList4Specs
.
add
(
size2
);
specCombinationList4Specs
.
add
(
skin2
);
specCombinationList4
.
put
(
"specs"
,
specCombinationList4Specs
);
specCombinationList4
.
put
(
"price"
,
"0.01"
);
specCombinationList4
.
put
(
"inventory"
,
10
);
specCombinationList
.
add
(
specCombinationList4
);
JSONObject
specCombinationList5
=
new
JSONObject
();
JSONArray
specCombinationList5Specs
=
new
JSONArray
();
specCombinationList5Specs
.
add
(
color2
);
specCombinationList5Specs
.
add
(
size1
);
specCombinationList5Specs
.
add
(
skin1
);
specCombinationList5
.
put
(
"specs"
,
specCombinationList5Specs
);
specCombinationList5
.
put
(
"price"
,
"0.01"
);
specCombinationList5
.
put
(
"inventory"
,
10
);
specCombinationList
.
add
(
specCombinationList5
);
JSONObject
specCombinationList6
=
new
JSONObject
();
JSONArray
specCombinationList6Specs
=
new
JSONArray
();
specCombinationList6Specs
.
add
(
color2
);
specCombinationList6Specs
.
add
(
size1
);
specCombinationList6Specs
.
add
(
skin2
);
specCombinationList6
.
put
(
"specs"
,
specCombinationList6Specs
);
specCombinationList6
.
put
(
"price"
,
"0.01"
);
specCombinationList6
.
put
(
"inventory"
,
10
);
specCombinationList
.
add
(
specCombinationList6
);
JSONObject
specCombinationList7
=
new
JSONObject
();
JSONArray
specCombinationList7Specs
=
new
JSONArray
();
specCombinationList7Specs
.
add
(
color2
);
specCombinationList7Specs
.
add
(
size2
);
specCombinationList7Specs
.
add
(
skin1
);
specCombinationList7
.
put
(
"specs"
,
specCombinationList7Specs
);
specCombinationList7
.
put
(
"price"
,
"0.01"
);
specCombinationList7
.
put
(
"inventory"
,
10
);
specCombinationList
.
add
(
specCombinationList7
);
JSONObject
specCombinationList8
=
new
JSONObject
();
JSONArray
specCombinationList8Specs
=
new
JSONArray
();
specCombinationList8Specs
.
add
(
color2
);
specCombinationList8Specs
.
add
(
size2
);
specCombinationList8Specs
.
add
(
skin2
);
specCombinationList8
.
put
(
"specs"
,
specCombinationList8Specs
);
specCombinationList8
.
put
(
"price"
,
"0.01"
);
specCombinationList8
.
put
(
"inventory"
,
10
);
specCombinationList
.
add
(
specCombinationList8
);
multiSpecInfo
.
put
(
"specCombinationList"
,
specCombinationList
);
jsonObject1
.
put
(
"multiSpecInfo"
,
multiSpecInfo
);
jsonObject1
.
put
(
"id"
,
createGoodsId
);
jsonObject1
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject1
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject1
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject1
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
//校验1:修改后字段:获取B端物品详情
JSONObject
getDetail_goods1
=
goodTools
.
getDetail_goods
(
createGoodsId
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
getDetail_goods1
.
getString
(
"name"
),
"自动化编辑后多规格"
,
"编辑物品名称但详情非编辑后的物品名称"
);
Assert
.
assertEquals
(
getDetail_goods1
.
getJSONObject
(
"group"
).
getString
(
"id"
),
"1873912725360504834"
,
"编辑物品分组但详情非编辑后的分组"
);
Assert
.
assertEquals
(
getDetail_goods1
.
getBoolean
(
"multiSpec"
).
booleanValue
(),
true
,
"编辑成多规格但详情非编辑后的多规格"
);
Assert
.
assertEquals
(
getDetail_goods1
.
getString
(
"state"
),
"YES"
,
"编辑成多规格成功后但详情非编辑后的启用状态"
);
Assert
.
assertEquals
(
getDetail_goods1
.
getString
(
"xcxSaleState"
),
"YES"
,
"编辑成多规格成功后但详情非编辑后的开启小程序售卖"
);
Assert
.
assertEquals
(
getDetail_goods1
.
getString
(
"inventory"
),
"80"
,
"编辑成多规格成功后但详情总库存非编辑后的80"
);
//校验2:修改后字段:获取C端物品详情
JSONObject
getDetail_goodsC1
=
goodCTools
.
getDetail_goods_C
(
createGoodsId
,
info
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
getDetail_goodsC1
.
getString
(
"name"
),
"自动化编辑后多规格"
,
"编辑物品名称但详情非编辑后的物品名称"
);
Assert
.
assertEquals
(
getDetail_goodsC1
.
getJSONObject
(
"group"
).
getString
(
"id"
),
"1873912725360504834"
,
"编辑物品分组但详情非编辑后的分组"
);
Assert
.
assertEquals
(
getDetail_goodsC1
.
getBoolean
(
"multiSpec"
).
booleanValue
(),
true
,
"编辑成多规格但详情非编辑后的多规格"
);
Assert
.
assertEquals
(
getDetail_goodsC1
.
getString
(
"state"
),
"YES"
,
"编辑成多规格成功后但详情非编辑后的启用状态"
);
Assert
.
assertEquals
(
getDetail_goodsC1
.
getString
(
"xcxSaleState"
),
"YES"
,
"编辑成多规格成功后但详情非编辑后的开启小程序售卖"
);
Assert
.
assertEquals
(
getDetail_goodsC1
.
getString
(
"inventory"
),
"80"
,
"编辑成多规格成功后但详情总库存非编辑后的80"
);
//校验3:获取B端物品列表
JSONObject
afterStudioGoods1
=
goodTools
.
studioGoods
();
JSONArray
records1
=
afterStudioGoods1
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
boolean
success1
=
false
;
for
(
int
i
=
0
;
i
<
records1
.
size
();
i
++)
{
if
(
records1
.
getJSONObject
(
i
).
getString
(
"name"
).
equals
(
name1
))
{
success1
=
true
;
}
Assert
.
assertEquals
(
success1
,
true
,
"物品列表中有此编辑后的物品名称"
);
}
//校验4:获取C端物品列表
JSONObject
afterStudioGoodsC1
=
goodCTools
.
pageXcxHomeGoodsC
(
info
);
JSONArray
recordsC1
=
afterStudioGoodsC1
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
boolean
successC1
=
false
;
for
(
int
i
=
0
;
i
<
recordsC1
.
size
();
i
++)
{
if
(
recordsC1
.
getJSONObject
(
i
).
getString
(
"name"
).
equals
(
name1
))
{
successC1
=
true
;
}
Assert
.
assertEquals
(
successC1
,
true
,
"C端物品列表中有此编辑后的物品名称"
);
}
//校验5:生成一条编辑记录,类型为编辑物品
JSONObject
pageGoodsModifyRecord1
=
goodTools
.
pageGoodsModifyRecord
(
createGoodsId
);
int
afterTotal1
=
Integer
.
parseInt
(
pageGoodsModifyRecord1
.
getJSONObject
(
"result"
).
getString
(
"total"
));
String
pageGoodsModifyRecordResult1
=
pageGoodsModifyRecord1
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"type"
);
Assert
.
assertEquals
(
pageGoodsModifyRecordResult1
,
"MODIFY"
,
"创建多规格物品后,未生成类型为编辑物品的编辑记录"
);
Assert
.
assertEquals
(
afterTotal1
,
beforeTotal1
+
1
,
"编辑成功后未生成编辑记录"
);
try
{
Thread
.
sleep
(
5000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//case3:多规格改多规格
String
name2
=
"自动化编辑后一个规格"
;
//校验5:获取编辑记录
JSONObject
beforePageGoodsModifyRecord2
=
goodTools
.
pageGoodsModifyRecord
(
createGoodsId
);
int
beforeTotal2
=
Integer
.
parseInt
(
beforePageGoodsModifyRecord2
.
getJSONObject
(
"result"
).
getString
(
"total"
));
//修改物品状态为关闭
JSONObject
modifyGoodsState2
=
goodTools
.
modifyGoodsState
(
createGoodsId
,
"NO"
);
//物品名称重名校验:为false才是不重名
boolean
checkRepeatNameForStudio2
=
Boolean
.
parseBoolean
(
goodTools
.
checkRepeatNameForStudio
(
name2
).
getString
(
"result"
));
if
(
checkRepeatNameForStudio2
==
false
)
{
String
color11
=
"黑色"
;
String
color22
=
"白色"
;
JSONObject
jsonObject3
=
new
JSONObject
();
//商品介绍为空
// JSONObject description=new JSONObject();
// jsonObject.put("description",description.toString());
//商品介绍不为空,纯文本
JSONObject
description2
=
new
JSONObject
();
JSONArray
items2
=
new
JSONArray
();
JSONObject
item22
=
new
JSONObject
();
item22
.
put
(
"type"
,
"TEXT"
);
item22
.
put
(
"content"
,
"自动化编辑后的多规格一个规格,每个规格有两个规格值"
);
item22
.
put
(
"aspect"
,
""
);
items2
.
add
(
item22
);
description2
.
put
(
"items"
,
items2
);
jsonObject3
.
put
(
"description"
,
description2
.
toString
());
JSONArray
images2
=
new
JSONArray
();
jsonObject3
.
put
(
"images"
,
images2
);
jsonObject3
.
put
(
"groupId"
,
"1873912725360504834"
);
jsonObject3
.
put
(
"multiSpec"
,
true
);
jsonObject3
.
put
(
"name"
,
name2
);
jsonObject3
.
put
(
"xcxSaleState"
,
"YES"
);
JSONObject
multiSpecInfo1
=
new
JSONObject
();
//设置一个规格有两个规格值
JSONArray
specList6
=
new
JSONArray
();
JSONObject
specList66
=
new
JSONObject
();
specList66
.
put
(
"name"
,
"颜色"
);
JSONArray
specList6SpecValues
=
new
JSONArray
();
JSONObject
specList6SpecValues1
=
new
JSONObject
();
specList6SpecValues1
.
put
(
"name"
,
color11
);
JSONObject
specList6SpecValues2
=
new
JSONObject
();
specList6SpecValues2
.
put
(
"name"
,
color22
);
specList6SpecValues
.
add
(
specList6SpecValues1
);
specList6SpecValues
.
add
(
specList6SpecValues2
);
specList66
.
put
(
"specValues"
,
specList6SpecValues
);
specList6
.
add
(
specList66
);
multiSpecInfo1
.
put
(
"specList"
,
specList6
);
try
{
Thread
.
sleep
(
3000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
//排列出来的组合1*2
JSONArray
specCombinationList9
=
new
JSONArray
();
JSONObject
specCombinationList99
=
new
JSONObject
();
JSONArray
specCombinationList9Specs
=
new
JSONArray
();
specCombinationList9Specs
.
add
(
color11
);
specCombinationList99
.
put
(
"specs"
,
specCombinationList9Specs
);
specCombinationList99
.
put
(
"price"
,
"0.02"
);
specCombinationList99
.
put
(
"inventory"
,
10
);
specCombinationList9
.
add
(
specCombinationList99
);
JSONObject
specCombinationList1010
=
new
JSONObject
();
JSONArray
specCombinationList10Specs
=
new
JSONArray
();
specCombinationList10Specs
.
add
(
color22
);
specCombinationList1010
.
put
(
"specs"
,
specCombinationList10Specs
);
specCombinationList1010
.
put
(
"price"
,
"0.02"
);
specCombinationList1010
.
put
(
"inventory"
,
10
);
specCombinationList9
.
add
(
specCombinationList1010
);
multiSpecInfo1
.
put
(
"specCombinationList"
,
specCombinationList9
);
jsonObject3
.
put
(
"multiSpecInfo"
,
multiSpecInfo1
);
jsonObject3
.
put
(
"id"
,
createGoodsId
);
jsonObject3
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject3
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject3
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject3
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
//校验1:修改后字段:获取B端物品详情
JSONObject
getDetail_goods2
=
goodTools
.
getDetail_goods
(
createGoodsId
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
getDetail_goods2
.
getString
(
"name"
),
"自动化编辑后一个规格"
,
"编辑物品名称但详情非编辑后的物品名称"
);
Assert
.
assertEquals
(
getDetail_goods2
.
getJSONObject
(
"group"
).
getString
(
"id"
),
"1873912725360504834"
,
"编辑物品分组但详情非编辑后的分组"
);
Assert
.
assertEquals
(
getDetail_goods2
.
getBoolean
(
"multiSpec"
).
booleanValue
(),
true
,
"编辑成多规格但详情非编辑后的多规格"
);
Assert
.
assertEquals
(
getDetail_goods2
.
getString
(
"state"
),
"YES"
,
"编辑成多规格成功后但详情非编辑后的启用状态"
);
Assert
.
assertEquals
(
getDetail_goods2
.
getString
(
"xcxSaleState"
),
"YES"
,
"编辑成多规格成功后但详情非编辑后的开启小程序售卖"
);
Assert
.
assertEquals
(
getDetail_goods2
.
getString
(
"inventory"
),
"20"
,
"编辑成多规格成功后但详情总库存非编辑后的20"
);
//校验2:修改后字段:获取C端物品详情
JSONObject
getDetail_goodsC2
=
goodCTools
.
getDetail_goods_C
(
createGoodsId
,
info
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
getDetail_goodsC2
.
getString
(
"name"
),
"自动化编辑后一个规格"
,
"编辑物品名称但详情非编辑后的物品名称"
);
Assert
.
assertEquals
(
getDetail_goodsC2
.
getJSONObject
(
"group"
).
getString
(
"id"
),
"1873912725360504834"
,
"编辑物品分组但详情非编辑后的分组"
);
Assert
.
assertEquals
(
getDetail_goodsC2
.
getBoolean
(
"multiSpec"
).
booleanValue
(),
true
,
"编辑成多规格但详情非编辑后的多规格"
);
Assert
.
assertEquals
(
getDetail_goodsC2
.
getString
(
"state"
),
"YES"
,
"编辑成多规格成功后但详情非编辑后的启用状态"
);
Assert
.
assertEquals
(
getDetail_goodsC2
.
getString
(
"xcxSaleState"
),
"YES"
,
"编辑成多规格成功后但详情非编辑后的开启小程序售卖"
);
Assert
.
assertEquals
(
getDetail_goodsC2
.
getString
(
"inventory"
),
"20"
,
"编辑成多规格成功后但详情总库存非编辑后的20"
);
//校验3:获取B端物品列表
JSONObject
afterStudioGoods2
=
goodTools
.
studioGoods
();
JSONArray
records2
=
afterStudioGoods2
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
boolean
success2
=
false
;
for
(
int
i
=
0
;
i
<
records2
.
size
();
i
++)
{
if
(
records2
.
getJSONObject
(
i
).
getString
(
"name"
).
equals
(
name2
))
{
success2
=
true
;
}
Assert
.
assertEquals
(
success2
,
true
,
"物品列表中有此编辑后的物品名称"
);
}
//校验4:获取C端物品列表
JSONObject
afterStudioGoodsC2
=
goodCTools
.
pageXcxHomeGoodsC
(
info
);
JSONArray
recordsC2
=
afterStudioGoodsC2
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
boolean
successC2
=
false
;
for
(
int
i
=
0
;
i
<
recordsC2
.
size
();
i
++)
{
if
(
recordsC2
.
getJSONObject
(
i
).
getString
(
"name"
).
equals
(
name2
))
{
successC2
=
true
;
}
Assert
.
assertEquals
(
successC2
,
true
,
"C端物品列表中有此编辑后的物品名称"
);
}
//校验5:生成一条编辑记录,类型为编辑物品
JSONObject
pageGoodsModifyRecord2
=
goodTools
.
pageGoodsModifyRecord
(
createGoodsId
);
int
afterTotal2
=
Integer
.
parseInt
(
pageGoodsModifyRecord2
.
getJSONObject
(
"result"
).
getString
(
"total"
));
String
pageGoodsModifyRecordResult2
=
pageGoodsModifyRecord2
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"type"
);
Assert
.
assertEquals
(
pageGoodsModifyRecordResult2
,
"MODIFY"
,
"创建多规格物品后,未生成类型为编辑物品的编辑记录"
);
Assert
.
assertEquals
(
afterTotal2
,
beforeTotal2
+
1
,
"编辑成功后未生成编辑记录"
);
try
{
Thread
.
sleep
(
5000
);
}
catch
(
InterruptedException
e
)
{
throw
new
RuntimeException
(
e
);
}
String
name3
=
"自动化多规格编辑成单"
;
//case4:多规格改单规格
//校验5:获取编辑记录
JSONObject
beforePageGoodsModifyRecord3
=
goodTools
.
pageGoodsModifyRecord
(
createGoodsId
);
int
beforeTotal3
=
Integer
.
parseInt
(
beforePageGoodsModifyRecord3
.
getJSONObject
(
"result"
).
getString
(
"total"
));
//修改物品状态为关闭
JSONObject
modifyGoodsState3
=
goodTools
.
modifyGoodsState
(
createGoodsId
,
"NO"
);
//物品名称重名校验:为false才是不重名
boolean
checkRepeatNameForStudio3
=
Boolean
.
parseBoolean
(
goodTools
.
checkRepeatNameForStudio
(
name3
).
getString
(
"result"
));
if
(
checkRepeatNameForStudio3
==
false
)
{
JSONObject
jsonObject4
=
new
JSONObject
();
//商品介绍不为空,纯文本
JSONObject
description3
=
new
JSONObject
();
JSONArray
items3
=
new
JSONArray
();
JSONObject
item33
=
new
JSONObject
();
item33
.
put
(
"type"
,
"TEXT"
);
item33
.
put
(
"content"
,
"自动化多规格编辑成单规格"
);
item33
.
put
(
"aspect"
,
""
);
items3
.
add
(
item33
);
description3
.
put
(
"items"
,
items3
);
jsonObject4
.
put
(
"description"
,
description3
.
toString
());
jsonObject4
.
put
(
"groupId"
,
"1873903328974499841"
);
JSONArray
images3
=
new
JSONArray
();
jsonObject4
.
put
(
"images"
,
images3
);
jsonObject4
.
put
(
"multiSpec"
,
false
);
jsonObject4
.
put
(
"name"
,
name3
);
jsonObject4
.
put
(
"xcxSaleState"
,
"YES"
);
JSONObject
jsonObject5
=
new
JSONObject
();
jsonObject5
.
put
(
"inventory"
,
"100"
);
jsonObject5
.
put
(
"price"
,
"0.09"
);
jsonObject4
.
put
(
"singleSpecInfo"
,
jsonObject5
);
jsonObject4
.
put
(
"id"
,
createGoodsId
);
jsonObject4
.
put
(
"brandId"
,
xmAppApi
.
getLoginInfo
().
getBrandId
());
jsonObject4
.
put
(
"studioId"
,
xmAppApi
.
getLoginInfo
().
getStudioId
());
jsonObject4
.
put
(
"operatorId"
,
xmAppApi
.
getLoginInfo
().
getAdminId
());
xmAppApi
.
doRequest
(
RequestType
.
JSON
,
params
,
jsonObject4
.
toJSONString
(),
headers
).
assetsSuccess
(
true
);
//校验1:修改后字段:获取B端物品详情
JSONObject
getDetail_goods3
=
goodTools
.
getDetail_goods
(
createGoodsId
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
getDetail_goods3
.
getString
(
"name"
),
"自动化多规格编辑成单"
,
"编辑物品名称但详情非编辑后的物品名称"
);
Assert
.
assertEquals
(
getDetail_goods3
.
getJSONObject
(
"group"
).
getString
(
"id"
),
"1873903328974499841"
,
"编辑物品分组但详情非编辑后的分组"
);
Assert
.
assertEquals
(
getDetail_goods3
.
getBoolean
(
"multiSpec"
).
booleanValue
(),
false
,
"编辑成单规格但详情非编辑后的单规格"
);
Assert
.
assertEquals
(
getDetail_goods3
.
getString
(
"state"
),
"YES"
,
"编辑成单规格成功后但详情非编辑后的启用状态"
);
Assert
.
assertEquals
(
getDetail_goods3
.
getString
(
"xcxSaleState"
),
"YES"
,
"编辑成单规格成功后但详情非编辑后的开启小程序售卖"
);
Assert
.
assertEquals
(
getDetail_goods3
.
getString
(
"inventory"
),
"100"
,
"编辑成单规格成功后但详情总库存非编辑后的100"
);
Assert
.
assertEquals
(
getDetail_goods3
.
getJSONObject
(
"singleSpecInfo"
).
getString
(
"inventory"
),
"100"
,
"编辑成单规格成功后但详情库存非编辑后的100"
);
Assert
.
assertEquals
(
getDetail_goods3
.
getJSONObject
(
"singleSpecInfo"
).
getBigDecimal
(
"price"
).
setScale
(
2
,
RoundingMode
.
HALF_UP
).
toString
(),
"0.09"
,
"编辑成单规格成功后但详情价格非编辑后的0.09"
);
//校验2:修改后字段:获取C端物品详情
JSONObject
getDetail_goodsC3
=
goodCTools
.
getDetail_goods_C
(
createGoodsId
,
info
).
getJSONObject
(
"result"
);
Assert
.
assertEquals
(
getDetail_goodsC3
.
getString
(
"name"
),
"自动化多规格编辑成单"
,
"编辑物品名称但详情非编辑后的物品名称"
);
Assert
.
assertEquals
(
getDetail_goodsC3
.
getJSONObject
(
"group"
).
getString
(
"id"
),
"1873903328974499841"
,
"编辑物品分组但详情非编辑后的分组"
);
Assert
.
assertEquals
(
getDetail_goodsC3
.
getBoolean
(
"multiSpec"
).
booleanValue
(),
false
,
"编辑成单规格但详情非编辑后的单规格"
);
Assert
.
assertEquals
(
getDetail_goodsC3
.
getString
(
"state"
),
"YES"
,
"编辑成单规格成功后但详情非编辑后的启用状态"
);
Assert
.
assertEquals
(
getDetail_goodsC3
.
getString
(
"xcxSaleState"
),
"YES"
,
"编辑成单规格成功后但详情非编辑后的开启小程序售卖"
);
Assert
.
assertEquals
(
getDetail_goodsC3
.
getString
(
"inventory"
),
"100"
,
"编辑成单规格成功后但详情总库存非编辑后的100"
);
Assert
.
assertEquals
(
getDetail_goodsC3
.
getJSONObject
(
"singleSpecInfo"
).
getString
(
"inventory"
),
"100"
,
"编辑成单规格成功后但详情库存非编辑后的100"
);
Assert
.
assertEquals
(
getDetail_goodsC3
.
getJSONObject
(
"singleSpecInfo"
).
getBigDecimal
(
"price"
).
setScale
(
2
,
RoundingMode
.
HALF_UP
).
toString
(),
"0.09"
,
"编辑成单规格成功后但详情价格非编辑后的0.09"
);
//校验3:获取B端物品列表
JSONObject
afterStudioGoods3
=
goodTools
.
studioGoods
();
JSONArray
records3
=
afterStudioGoods3
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
boolean
success3
=
false
;
for
(
int
i
=
0
;
i
<
records3
.
size
();
i
++)
{
if
(
records3
.
getJSONObject
(
i
).
getString
(
"name"
).
equals
(
name3
))
{
success3
=
true
;
}
Assert
.
assertEquals
(
success3
,
true
,
"物品列表中有此编辑后的物品名称"
);
}
//校验4:获取C端物品列表
JSONObject
afterStudioGoodsC3
=
goodCTools
.
pageXcxHomeGoodsC
(
info
);
JSONArray
recordsC3
=
afterStudioGoodsC3
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
);
boolean
successC3
=
false
;
for
(
int
i
=
0
;
i
<
recordsC3
.
size
();
i
++)
{
if
(
recordsC3
.
getJSONObject
(
i
).
getString
(
"name"
).
equals
(
name3
))
{
successC3
=
true
;
}
Assert
.
assertEquals
(
successC3
,
true
,
"C端物品列表中有此编辑后的物品名称"
);
}
//校验5:生成一条编辑记录,类型为编辑物品
JSONObject
pageGoodsModifyRecord3
=
goodTools
.
pageGoodsModifyRecord
(
createGoodsId
);
int
afterTotal3
=
Integer
.
parseInt
(
pageGoodsModifyRecord3
.
getJSONObject
(
"result"
).
getString
(
"total"
));
String
pageGoodsModifyRecordResult3
=
pageGoodsModifyRecord3
.
getJSONObject
(
"result"
).
getJSONArray
(
"records"
).
getJSONObject
(
0
).
getString
(
"type"
);
Assert
.
assertEquals
(
pageGoodsModifyRecordResult3
,
"MODIFY"
,
"创建多规格物品后,未生成类型为编辑物品的编辑记录"
);
Assert
.
assertEquals
(
afterTotal3
,
beforeTotal3
+
1
,
"编辑成功后未生成编辑记录"
);
}
else
{
System
.
out
.
println
(
"编辑物品时,物品名称重复"
);
}
}
else
{
System
.
out
.
println
(
"编辑物品时,物品名称重复"
);
}
}
else
{
System
.
out
.
println
(
"编辑物品时,物品名称重复"
);
}
}
else
{
System
.
out
.
println
(
"编辑物品时,物品名称重复"
);
}
}
}
src/main/java/com/xiaomai/cases/polar/goods/Tools/GoodTools.java
View file @
4c3344e1
...
@@ -260,7 +260,7 @@ public class GoodTools extends XMBaseTest {
...
@@ -260,7 +260,7 @@ public class GoodTools extends XMBaseTest {
* @param inventory 库存
* @param inventory 库存
* @author: yff
* @author: yff
**/
**/
public
JSONObject
testC
reateGoods_multiple
(
String
xcxSaleState
,
String
price
,
int
inventory
,
DataUserInfo
...
userInfos
)
{
public
JSONObject
c
reateGoods_multiple
(
String
xcxSaleState
,
String
price
,
int
inventory
,
DataUserInfo
...
userInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Goods
)
dataApi
.
setApiModule
(
ApiModule
.
Polar_Goods
)
.
setApiName
(
"API_createGoods"
)
.
setApiName
(
"API_createGoods"
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
...
@@ -469,7 +469,7 @@ public class GoodTools extends XMBaseTest {
...
@@ -469,7 +469,7 @@ public class GoodTools extends XMBaseTest {
* @param inventory 库存
* @param inventory 库存
* @author: yff
* @author: yff
**/
**/
public
JSONObject
testC
reateGoods_single
(
String
xcxSaleState
,
String
price
,
int
inventory
,
DataUserInfo
...
userInfos
)
{
public
JSONObject
c
reateGoods_single
(
String
xcxSaleState
,
String
price
,
int
inventory
,
DataUserInfo
...
userInfos
)
{
dataApi
.
setApiModule
(
ApiModule
.
Polar_Goods
)
dataApi
.
setApiModule
(
ApiModule
.
Polar_Goods
)
.
setApiName
(
"API_createGoods"
)
.
setApiName
(
"API_createGoods"
)
.
setTerminal
(
Terminal
.
B
);
.
setTerminal
(
Terminal
.
B
);
...
@@ -894,5 +894,31 @@ public class GoodTools extends XMBaseTest {
...
@@ -894,5 +894,31 @@ public class GoodTools extends XMBaseTest {
return
dataApi
.
getBodyInJSON
();
return
dataApi
.
getBodyInJSON
();
}
}
/**
* @param
* @description:
* @param goodsId:物品ID
* @author: yff
**/
public
JSONObject
pageGoodsModifyRecord
(
String
goodsId
,
DataUserInfo
...
userInfos
){
dataApi
.
setApiModule
(
ApiModule
.
Polar_Goods
)
.
setApiName
(
"API_pageGoodsModifyRecord"
)
.
setTerminal
(
Terminal
.
B
);
super
.
beforeDataRequest
(
userInfos
);
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"goodsId"
,
goodsId
);
jsonObject
.
put
(
"current"
,
0
);
jsonObject
.
put
(
"size"
,
20
);
jsonObject
.
put
(
"brandId"
,
dataApi
.
getLoginInfo
().
getBrandId
());
jsonObject
.
put
(
"studioId"
,
dataApi
.
getLoginInfo
().
getStudioId
());
jsonObject
.
put
(
"operatorId"
,
dataApi
.
getLoginInfo
().
getAdminId
());
dataApi
.
doRequest
(
RequestType
.
JSON
,
dataparams
,
jsonObject
.
toString
(),
dataheadrs
).
assetsSuccess
(
true
);
return
dataApi
.
getBodyInJSON
();
}
}
}
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