Ejemplo n.º 1
0
 def test_flow_2(self, flow_2):
     """商户类型为分润商户的无手续费正常提现测试"""
     PreconditionWithdrawal.mct_update_amount_pre(flow_2)  # 补充测试商户的余额与可结算余额
     # 创造一个提现数据
     PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.FALSE)  # 清空提现手续费
     self.after_treatment_data = Handle.machaccnt_withdraw_handle(flow_2)
     # 构造预期结果
     kwargs = MachRefundPass.creat_except_data(with_draw_info_index=1, profit_index=1,
                                               his_settled_amount_index=1)
     self.flow_pass_public(data=flow_2, is_borrow_money=False, is_service_charge=False, type_befor=True,
                           type_after=False, **kwargs)
Ejemplo n.º 2
0
 def test_flow_16(self, flow_9_7):
     """缓存中不存在提现记录,在数据库中存在一条orderid为test1的数据,
     有提现手续费,无准备金借取,重新请求,金额相同。 withdraw_status2。提现完成订单返回 分为status为失败"""
     PreconditionWithdrawal.mct_update_amount_pre(flow_9_7)
     # 创造一个提现数据
     self.after_treatment_data = Handle.machaccnt_withdraw_handle(flow_9_7)
     PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.TRUE)  # 开启提现手续费
     befor_dic = MachAntWithdrawUp(self.after_treatment_data).amt_expected_results(is_borrow_money=False,
                                                                                   is_service_charge=True,
                                                                                   type=False)
     befor_dic['info_index']['with_draw_info_index'] = 1
     befor_dic['info_index']['mch_accnt_info_index'] = 4  # 提现扣减 手续费扣减 提现退还 手续费退还
     befor_dic['info_index']['his_settled_amount_index'] = 6  # 三条正向操作提现记录 三条退还提现记录
     befor_dic['info_index']['profit_index'] = 2  # 提现增加手续费 退还减少手续费
     RequestBase.send_request(**self.after_treatment_data)
     PreconditionWithdrawal.update_pay_url(pay_type='fail')
     PreconditionWithdrawal.send_deal_withdraw()  # 触发提现定时器
     ClearingWithdrawal.redis_clear(self.after_treatment_data)  # 清理缓存记录
     try:
         res, html = RequestBase.send_request(**self.after_treatment_data)  # 发送请求
         self.assertNotEqual(len(html.get('biz_content').get('errmsg')), '交易失败',
                             msg='没有返回数据库以存在的T0020181229204406000002交易失败的信息')
         log.info('本次请求结果为%s' % html)
         aft_dic = MachAntWithdrawUp(self.after_treatment_data).amt_expected_results(is_borrow_money=False,
                                                                                     is_service_charge=True,
                                                                                     type=False)
         excepted = json.loads(self.after_treatment_data['excepted_code'])
         Handle.machaccnt_withdraw_assert(self, html, excepted, befor_dic, aft_dic)
     except Exception as e:
         PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.FALSE)  # 关闭提现手续费
         PreconditionWithdrawal.update_pay_url(pay_type='default')  # 回复默认url地址
         raise e
     PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.FALSE)  # 关闭提现手续费
     PreconditionWithdrawal.update_pay_url(pay_type='default')  # 回复默认url地址
 def test_flow_8(self, flow_8):
     """
     有提现手续费,但提现金额小于或等于手续费
     """
     PreconditionWithdrawal.mch_update_fixed_poundage()
     PreconditionWithdrawal.mct_update_amount_pre(flow_8)  # 补充测试商户的余额与可结算余额
     try:
         self.err_public(flow_8)
     except Exception as e:
         PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.FALSE)  # 清空提现手续费
         raise e
     PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.FALSE)  # 清空提现手续费
 def test_flow_9(self, flow_9):
     """
     提现金额大于手续费,但是不存在分润商户
     """
     PreconditionWithdrawal.mch_update_fixed_poundage()
     PreconditionWithdrawal.mct_update_amount_pre(flow_9)  # 补充测试商户的余额与可结算余额
     PreconditionWithdrawal.mct_update_acct_type()  # 更改分润商户数量为空
     try:
         self.err_public(flow_9)
     except Exception as e:
         PreconditionWithdrawal.mct_update_acct_type(button=Constants.RESULT.FALSE)  # 还原分润商户
         PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.FALSE)  # 清空提现手续费
         raise e
     PreconditionWithdrawal.mct_update_acct_type(button=Constants.RESULT.FALSE)  # 还原分润商户
     PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.FALSE)  # 清空提现手续费
Ejemplo n.º 5
0
 def test_flow_10(self, flow_9_1):
     """
     商户类型为子商户,有提现手续费,提现金额大于商户可结算余额,小于商户账面余额,开启超额提现,从准备金账户借款流程测试
     结算金额为负数
     """
     PreconditionWithdrawal.mct_update_amount_pre(flow_9_1, set_amt='-200')
     self.after_treatment_data = Handle.machaccnt_withdraw_handle(flow_9_1)
     PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.TRUE)  # 开启提现手续费
     PreconditionWithdrawal.mct_update_super_money_pre(is_change=Constants.RESULT.TRUE)  # 开启超额提现
     kwargs = MachRefundPass.creat_except_data(with_draw_info_index=1, mch_accnt_info_index=2,
                                               his_settled_amount_index=3, profit_index=1, propay_index=1)
     try:
         self.flow_pass_public(data=flow_9_1, is_borrow_money=True, is_service_charge=True, type_befor=True,
                               type_after=False, **kwargs)
     except Exception as e:
         PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.FALSE)  # 关闭提现手续费
         PreconditionWithdrawal.mct_update_super_money_pre(is_change=Constants.RESULT.FALSE)  # 关闭超额提现
         raise e
     PreconditionWithdrawal.mct_update_super_money_pre(is_change=Constants.RESULT.FALSE)  # 关闭超额提现
     PreconditionWithdrawal.mch_update_fixed_poundage(button=Constants.RESULT.FALSE)  # 关闭提现手续费