# -*- encoding=utf8 -*-
__author__ = "liguangyu"

"""
case_tag:cmdc_api,cmdc商城草稿订单创建-查询-删除,2252,2252-22,sit,bs
涉及到接口：草稿订单创建、需求单列表草稿列表、删除等接口
"""

from common.common_func import commonFuc
from air_case.cmdc_login.多采商城登录.多采商城登录 import CmdcMaiiLogin
from air_case.cmdc_login.后台管理系统登录.后台管理系统登录 import CmdcDoLogin
import requests
import json

module = "cmdc_demand"

# 第二步登录多采商城获取token信息
# 获取登录多采商城所需账号密码
username = commonFuc().get_business_data(module, "username")
password = commonFuc().get_business_data(module, "password")
# 获取登录后Cmdc_access_token并进行参数化赋值
cmdc_access_token1 = CmdcMaiiLogin(username, password).get_token()
headers1 = commonFuc().get_business_data(module, "json_headers1", cmdc_access_token1)

# 第二步进行草稿订单创建
url1 = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url1")
request_body1 = commonFuc().get_business_data(module, "payload1")
# 发送请求
result1 = requests.post(url1, json=request_body1, headers=headers1)
result1 = json.loads(result1.content)
# 获取预期结果
check_dict1 = commonFuc().get_business_data(module, "checkDict1")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict1, result1)

# 第三步查询需求单列表中草稿订单列表
url2 = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url2")
request_body2 = commonFuc().get_business_data(module, "payload2")
# 发送请求
result2 = requests.post(url2, json=request_body2, headers=headers1)
result2 = json.loads(result2.content)
# 获取预期结果
check_dict2 = commonFuc().get_business_data(module, "checkDict2")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict2, result2)

# 第四步获取到新增草稿订单对应的id并进行参数化赋值处理
demand_parent_id = result2["data"]["list"][0]["demandParentId"]
print(demand_parent_id)
# 步骤五对新创建的草稿订单进行删除操作
url3 = commonFuc().get_api_url() + commonFuc().get_business_data(module, "url3")
request_body3 = commonFuc().get_business_data(module, "payload3", demand_parent_id)
# 发送请求
result3 = requests.get(url3, params=request_body3, headers=headers1)
result3 = json.loads(result3.content)
# 获取预期结果
check_dict3 = commonFuc().get_business_data(module, "checkDict3")
# 断言实际结果中是否包含预期结果的内容
commonFuc().check_result(check_dict3, result3)

"""
 场景:流程验证-商城草稿订单创建-查询-删除
 用例名称：商城草稿订单创建-查询-删除
 备注说明：此处删除操作为物理删除
"""
