feat: 新增JoyHub模块测试用例和功能增强
1. 新增模块测试用例: - News分类接口测试 (Joyhub_NewsCate.py) - News内容接口测试 (Joyhub_News.py) - 产品分类接口测试 (Joyhub_ProductCate.py) - 产品属性接口测试 (Joyhub_ProductAttr.py) - 产品管理接口测试 (Joyhub_Product.py) - FAQ分类接口测试 (Joyhub_FaqCate.py) - FAQ内容接口测试 (Joyhub_Faq.py) - 博客分类接口测试 (Joyhub_BlogCate.py) - 地址国家接口测试 (Joyhub_AddressCountry.py) - 下载二维码接口测试 (Joyhub_DownloadQrcode.py) - 支付页产品推荐接口测试 (Joyhub_ProductPaymentRecommend.py) 2. 新增业务关键字层: - NewsCateManage.py - NewsManage.py - ProductCateManage.py - ProductAttrManage.py - ProductManage.py - FaqCateManage.py - FaqManage.py - BlogCateManage.py - AddressCountryManage.py - DownloadQrcodeManage.py - ProductPaymentRecommendManage.py 3. 接口层增强: - Dlizhan_interface.py 添加JoyHub相关接口封装 4. 功能增强: - run_tests.py 添加自动清除旧测试结果和报告功能 - Joyhub_Product.py 添加数据库连接获取运费模板ID和品牌ID 5. 修复: - 修复产品创建测试用例缺少前置数据问题
This commit is contained in:
268
dulizhan/library/BusinessKw/JoyHub/ProductAttrManage.py
Normal file
268
dulizhan/library/BusinessKw/JoyHub/ProductAttrManage.py
Normal file
@@ -0,0 +1,268 @@
|
||||
# -*- coding:utf-8 -*-
|
||||
"""
|
||||
产品属性+产品属性值管理业务关键字层
|
||||
"""
|
||||
import allure
|
||||
from dulizhan.library.Dlizhan_interface import DlzhanInterface
|
||||
from base_framework.public_tools import log
|
||||
|
||||
obj_log = log.get_logger()
|
||||
|
||||
|
||||
class ProductAttrManage(DlzhanInterface):
|
||||
"""产品属性+产品属性值管理业务关键字类"""
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
# ============ 产品属性管理方法 ============
|
||||
|
||||
@allure.step("创建产品属性")
|
||||
def kw_joyhub_product_attr_type_create_post(self, name, type=2, id=0, status=1, remark=None, rank_num=None):
|
||||
"""
|
||||
创建产品属性业务关键字
|
||||
:param id: 主键,新增为0
|
||||
:param type: 属性类型:1-颜色属性(有色卡),2-普通属性
|
||||
:param name: 属性名称
|
||||
:param status: 状态 (1正常 2停用)
|
||||
:param remark: 备注(可选)
|
||||
:param rank_num: 排序号(可选)
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"创建产品属性 - name: {name}, type: {type}")
|
||||
|
||||
params = {
|
||||
"id": id,
|
||||
"type": type,
|
||||
"name": name,
|
||||
"status": status
|
||||
}
|
||||
|
||||
if remark is not None:
|
||||
params["remark"] = remark
|
||||
if rank_num is not None:
|
||||
params["rankNum"] = rank_num
|
||||
|
||||
resp = self.kw_in_joyhub_product_attr_type_create_post(**params)
|
||||
obj_log.info(f"创建产品属性响应: {resp}")
|
||||
|
||||
return resp
|
||||
|
||||
@allure.step("删除产品属性")
|
||||
def kw_joyhub_product_attr_type_delete_delete(self, product_attr_type_id):
|
||||
"""
|
||||
删除产品属性业务关键字
|
||||
:param product_attr_type_id: 产品属性ID
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"删除产品属性 - product_attr_type_id: {product_attr_type_id}")
|
||||
resp = self.kw_in_joyhub_product_attr_type_delete_delete(product_attr_type_id)
|
||||
obj_log.info(f"删除产品属性响应: {resp}")
|
||||
return resp
|
||||
|
||||
@allure.step("批量删除产品属性")
|
||||
def kw_joyhub_product_attr_type_delete_list_delete(self, ids):
|
||||
"""
|
||||
批量删除产品属性业务关键字
|
||||
:param ids: 产品属性ID列表
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"批量删除产品属性 - ids: {ids}")
|
||||
resp = self.kw_in_joyhub_product_attr_type_delete_list_delete(ids)
|
||||
obj_log.info(f"批量删除产品属性响应: {resp}")
|
||||
return resp
|
||||
|
||||
@allure.step("获得产品属性详情")
|
||||
def kw_joyhub_product_attr_type_get_get(self, product_attr_type_id):
|
||||
"""
|
||||
获得产品属性详情业务关键字
|
||||
:param product_attr_type_id: 产品属性ID
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"获得产品属性详情 - product_attr_type_id: {product_attr_type_id}")
|
||||
resp = self.kw_in_joyhub_product_attr_type_get_get(product_attr_type_id)
|
||||
obj_log.info(f"获得产品属性详情响应: {resp}")
|
||||
return resp
|
||||
|
||||
@allure.step("获得产品属性分页")
|
||||
def kw_joyhub_product_attr_type_page_get(self, page_no=1, page_size=10, **kwargs):
|
||||
"""
|
||||
获得产品属性分页业务关键字
|
||||
:param page_no: 页码
|
||||
:param page_size: 每页大小
|
||||
:param kwargs: 其他查询条件
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"获得产品属性分页 - page_no: {page_no}, page_size: {page_size}")
|
||||
|
||||
params = {
|
||||
"pageNo": page_no,
|
||||
"pageSize": page_size
|
||||
}
|
||||
params.update(kwargs)
|
||||
|
||||
resp = self.kw_in_joyhub_product_attr_type_page_get(**params)
|
||||
obj_log.info(f"获得产品属性分页响应: {resp}")
|
||||
return resp
|
||||
|
||||
@allure.step("更新产品属性")
|
||||
def kw_joyhub_product_attr_type_update_put(self, product_attr_type_id, name, type=2, status=1, remark=None, rank_num=None):
|
||||
"""
|
||||
更新产品属性业务关键字
|
||||
:param product_attr_type_id: 产品属性ID
|
||||
:param name: 属性名称
|
||||
:param type: 属性类型:1-颜色属性(有色卡),2-普通属性
|
||||
:param status: 状态 (1正常 2停用)
|
||||
:param remark: 备注(可选)
|
||||
:param rank_num: 排序号(可选)
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"更新产品属性 - product_attr_type_id: {product_attr_type_id}, name: {name}")
|
||||
|
||||
params = {
|
||||
"id": product_attr_type_id,
|
||||
"type": type,
|
||||
"name": name,
|
||||
"status": status
|
||||
}
|
||||
|
||||
if remark is not None:
|
||||
params["remark"] = remark
|
||||
if rank_num is not None:
|
||||
params["rankNum"] = rank_num
|
||||
|
||||
resp = self.kw_in_joyhub_product_attr_type_update_put(**params)
|
||||
obj_log.info(f"更新产品属性响应: {resp}")
|
||||
|
||||
return resp
|
||||
|
||||
@allure.step("修改产品属性状态")
|
||||
def kw_joyhub_product_attr_type_change_status_put(self, product_attr_type_id, status):
|
||||
"""
|
||||
修改产品属性状态业务关键字
|
||||
:param product_attr_type_id: 产品属性ID
|
||||
:param status: 状态 (1正常 2停用)
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"修改产品属性状态 - product_attr_type_id: {product_attr_type_id}, status: {status}")
|
||||
|
||||
params = {
|
||||
"id": product_attr_type_id,
|
||||
"status": status
|
||||
}
|
||||
|
||||
resp = self.kw_in_joyhub_product_attr_type_change_status_put(**params)
|
||||
obj_log.info(f"修改产品属性状态响应: {resp}")
|
||||
|
||||
return resp
|
||||
|
||||
# ============ 产品属性值管理方法 ============
|
||||
|
||||
@allure.step("创建产品属性值")
|
||||
def kw_joyhub_product_attr_data_create_post(self, product_attr_type_id, attr_value, id=0, color=None):
|
||||
"""
|
||||
创建产品属性值业务关键字
|
||||
:param id: 主键ID,新增为0
|
||||
:param product_attr_type_id: 关联产品属性表的主键ID
|
||||
:param attr_value: 属性值名称
|
||||
:param color: 色卡(可选,颜色属性类型时使用)
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"创建产品属性值 - product_attr_type_id: {product_attr_type_id}, attr_value: {attr_value}")
|
||||
|
||||
params = {
|
||||
"id": id,
|
||||
"productAttrTypeId": product_attr_type_id,
|
||||
"attrValue": attr_value
|
||||
}
|
||||
|
||||
if color is not None:
|
||||
params["color"] = color
|
||||
|
||||
resp = self.kw_in_joyhub_product_attr_data_create_post(**params)
|
||||
obj_log.info(f"创建产品属性值响应: {resp}")
|
||||
|
||||
return resp
|
||||
|
||||
@allure.step("删除产品属性值")
|
||||
def kw_joyhub_product_attr_data_delete_delete(self, product_attr_data_id):
|
||||
"""
|
||||
删除产品属性值业务关键字
|
||||
:param product_attr_data_id: 产品属性值ID
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"删除产品属性值 - product_attr_data_id: {product_attr_data_id}")
|
||||
resp = self.kw_in_joyhub_product_attr_data_delete_delete(product_attr_data_id)
|
||||
obj_log.info(f"删除产品属性值响应: {resp}")
|
||||
return resp
|
||||
|
||||
@allure.step("批量删除产品属性值")
|
||||
def kw_joyhub_product_attr_data_delete_list_delete(self, ids):
|
||||
"""
|
||||
批量删除产品属性值业务关键字
|
||||
:param ids: 产品属性值ID列表
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"批量删除产品属性值 - ids: {ids}")
|
||||
resp = self.kw_in_joyhub_product_attr_data_delete_list_delete(ids)
|
||||
obj_log.info(f"批量删除产品属性值响应: {resp}")
|
||||
return resp
|
||||
|
||||
@allure.step("获得产品属性值详情")
|
||||
def kw_joyhub_product_attr_data_get_get(self, product_attr_data_id):
|
||||
"""
|
||||
获得产品属性值详情业务关键字
|
||||
:param product_attr_data_id: 产品属性值ID
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"获得产品属性值详情 - product_attr_data_id: {product_attr_data_id}")
|
||||
resp = self.kw_in_joyhub_product_attr_data_get_get(product_attr_data_id)
|
||||
obj_log.info(f"获得产品属性值详情响应: {resp}")
|
||||
return resp
|
||||
|
||||
@allure.step("获得产品属性值分页")
|
||||
def kw_joyhub_product_attr_data_page_get(self, page_no=1, page_size=10, **kwargs):
|
||||
"""
|
||||
获得产品属性值分页业务关键字
|
||||
:param page_no: 页码
|
||||
:param page_size: 每页大小
|
||||
:param kwargs: 其他查询条件
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"获得产品属性值分页 - page_no: {page_no}, page_size: {page_size}")
|
||||
|
||||
params = {
|
||||
"pageNo": page_no,
|
||||
"pageSize": page_size
|
||||
}
|
||||
params.update(kwargs)
|
||||
|
||||
resp = self.kw_in_joyhub_product_attr_data_page_get(**params)
|
||||
obj_log.info(f"获得产品属性值分页响应: {resp}")
|
||||
return resp
|
||||
|
||||
@allure.step("更新产品属性值")
|
||||
def kw_joyhub_product_attr_data_update_put(self, product_attr_data_id, product_attr_type_id, attr_value, color=None):
|
||||
"""
|
||||
更新产品属性值业务关键字
|
||||
:param product_attr_data_id: 产品属性值ID
|
||||
:param product_attr_type_id: 关联产品属性表的主键ID
|
||||
:param attr_value: 属性值名称
|
||||
:param color: 色卡(可选,颜色属性类型时使用)
|
||||
:return: 响应结果
|
||||
"""
|
||||
obj_log.info(f"更新产品属性值 - product_attr_data_id: {product_attr_data_id}, attr_value: {attr_value}")
|
||||
|
||||
params = {
|
||||
"id": product_attr_data_id,
|
||||
"productAttrTypeId": product_attr_type_id,
|
||||
"attrValue": attr_value
|
||||
}
|
||||
|
||||
if color is not None:
|
||||
params["color"] = color
|
||||
|
||||
resp = self.kw_in_joyhub_product_attr_data_update_put(**params)
|
||||
obj_log.info(f"更新产品属性值响应: {resp}")
|
||||
|
||||
return resp
|
||||
Reference in New Issue
Block a user