Exemple #1
0
    def test_buy_regular_deposit(self):
        # 正确购买定期理财测试
        status_code, response_dict = buy_regular_deposit(
            self.bank_teller_token, self.customer_id, self.regular_deposit_id,
            700, "2021-3-21")
        self.assertEqual(200, status_code)
        self.assertEqual("purchase success", response_dict['msg'])

        # 无柜员权限测试
        status_code, response_dict = buy_regular_deposit(
            "wrong token", self.customer_id, self.regular_deposit_id, 700,
            "2021-3-21")
        self.assertEqual(401, status_code)
        self.assertEqual("Unauthorized", response_dict)

        # 参数缺失测试
        status_code, response_dict = buy_regular_deposit(
            self.bank_teller_token, self.customer_id, self.regular_deposit_id,
            700)
        self.assertEqual(400, status_code)
        self.assertEqual(EM_INVALID_OR_MISSING_PARAMETERS, response_dict)

        # 客户不存在测试
        status_code, response_dict = buy_regular_deposit(
            self.bank_teller_token, -1, self.regular_deposit_id, 700,
            "2021-3-21")
        self.assertEqual(404, status_code)

        # 定期理财不存在测试
        status_code, response_dict = buy_regular_deposit(
            self.bank_teller_token, self.customer_id, -1, 700, "2021-3-21")
        self.assertEqual(404, status_code)

        # 余额不足测试
        status_code, response_dict = buy_regular_deposit(
            self.bank_teller_token, self.customer_id, self.regular_deposit_id,
            70000, "2021-3-21")
        self.assertEqual(403, status_code)
        self.assertEqual(EM_DEPOSIT_NOT_ENOUGH, response_dict)

        customer_loan(self.bank_teller_token, self.customer_id, 30000, 1,
                      '2021-1-10')
        loan_auto_repay(self.bank_teller_token)

        # 余额无法还清罚款测试
        status_code, response_dict = buy_regular_deposit(
            self.bank_teller_token, self.customer_id, self.regular_deposit_id,
            1, "2021-3-21")
        self.assertEqual(403, status_code)
        self.assertEqual(EM_CANNOT_PAY_FINE, response_dict)
Exemple #2
0
    def setUp(self):
        self.client = Client()
        sys_register("借款测试", "imbus123", "柜员", "13966667777")

        status_code, response_dict = sys_login("借款测试", "imbus123")
        self.bank_teller_token = response_dict['token']

        status_code, response_dict = add_customer(self.bank_teller_token, "客户一", "13100003456", "330888855570001",
                                                  1000.0)
        self.customer_id = response_dict["customer_id"]

        status_code, response_dict = customer_loan(self.bank_teller_token, self.customer_id, 300, 30, '2021-3-20')
        self.loan_record_id = response_dict["loan_record_id"]

        # 未到期借款测试
        customer_loan(self.bank_teller_token, self.customer_id, 300, 300, '2021-3-20')

        # 账户余额不够归还本金测试
        customer_loan(self.bank_teller_token, self.customer_id, 3000, 30, '2021-3-20')

        status_code, response_dict = add_customer(self.bank_teller_token, "客户二", "13100003457", "330888855570002", 1.0)
        customer_id = response_dict["customer_id"]

        # 账户余额不够罚金测试
        customer_loan(self.bank_teller_token, customer_id, 300, 3, '2021-3-20')
Exemple #3
0
    def test_request_loan(self):
        # 正确添加客户存款测试
        status_code, response_dict = customer_loan(self.bank_teller_token, self.customer_id, 300, 7, '2021-4-24')
        self.assertEqual(200, status_code)
        self.assertEqual("loan request success", response_dict['msg'])

        # 无柜员权限测试
        status_code, response_dict = customer_loan("wrong token", self.customer_id, 300, 7, '2021-4-24')
        self.assertEqual(401, status_code)
        self.assertEqual("Unauthorized", response_dict)

        # 参数缺失测试
        status_code, response_dict = customer_loan(self.bank_teller_token, self.customer_id, 300, 7)
        self.assertEqual(400, status_code)
        self.assertEqual(EM_INVALID_OR_MISSING_PARAMETERS, response_dict)

        # 参数错误测试(借款小于0)
        status_code, response_dict = customer_loan(self.bank_teller_token, self.customer_id, -300, 7, '2021-4-24')
        self.assertEqual(400, status_code)
        self.assertEqual(EM_INVALID_OR_MISSING_PARAMETERS, response_dict)

        # 客户不存在测试
        status_code, response_dict = customer_loan(self.bank_teller_token, -1, 300, 7, '2021-4-24')
        self.assertEqual(404, status_code)
    def setUp(self):
        self.client = Client()
        sys_register("借款查询测试", "imbus123", "柜员", "13966667777")

        status_code, response_dict = sys_login("借款查询测试", "imbus123")
        self.bank_teller_token = response_dict['token']

        status_code, response_dict = add_customer(self.bank_teller_token,
                                                  "客户一", "13100004567",
                                                  "330888855580001", 1000.0)
        self.customer_id = response_dict["customer_id"]

        status_code, response_dict = customer_loan(self.bank_teller_token,
                                                   self.customer_id, 300, 30,
                                                   '2021-3-20')
        self.loan_record_id = response_dict["loan_record_id"]
    def setUp(self):
        self.client = Client()
        sys_register("还款记录测试", "imbus123", "柜员", "13966667777")

        status_code, response_dict = sys_login("还款记录测试", "imbus123")
        self.bank_teller_token = response_dict['token']

        status_code, response_dict = add_customer(self.bank_teller_token,
                                                  "客户一", "13200006789",
                                                  "330888855690001",
                                                  10000000.0)
        self.customer_id = response_dict["customer_id"]

        status_code, response_dict = customer_loan(self.bank_teller_token,
                                                   self.customer_id, 100, 30,
                                                   "2021-3-20")
        loan_record_id = response_dict['loan_record_id']
        customer_loan_repay(self.bank_teller_token, loan_record_id, 100)
Exemple #6
0
    def test_buy_fund(self):
        # 正确购买基金测试
        status_code, response_dict = buy_fund(self.bank_teller_token,
                                              self.customer_id, self.fund_id,
                                              700, "2021-3-21", 100)
        self.assertEqual(200, status_code)
        self.assertEqual("fund purchase success", response_dict['msg'])

        # 无柜员权限测试
        status_code, response_dict = buy_fund('wrong token', self.customer_id,
                                              self.fund_id, 700, "2021-3-21",
                                              100)
        self.assertEqual(401, status_code)
        self.assertEqual("Unauthorized", response_dict)

        # 参数缺失测试
        status_code, response_dict = buy_fund(self.bank_teller_token,
                                              self.customer_id, self.fund_id,
                                              700, "2021-3-21")
        self.assertEqual(400, status_code)
        self.assertEqual(EM_INVALID_OR_MISSING_PARAMETERS, response_dict)

        # 客户不存在测试
        status_code, response_dict = buy_fund(self.bank_teller_token, -1,
                                              self.fund_id, 700, "2021-3-21",
                                              100)
        self.assertEqual(404, status_code)

        # 基金不存在测试
        status_code, response_dict = buy_fund(self.bank_teller_token,
                                              self.customer_id, -1, 700,
                                              "2021-3-21", 100)
        self.assertEqual(404, status_code)

        # 余额不足测试
        status_code, response_dict = buy_fund(self.bank_teller_token,
                                              self.customer_id, self.fund_id,
                                              70000, "2021-3-21", 100)
        self.assertEqual(403, status_code)
        self.assertEqual(EM_DEPOSIT_NOT_ENOUGH, response_dict)

        # 购买时间错误测试
        status_code, response_dict = buy_fund(self.bank_teller_token,
                                              self.customer_id, self.fund_id,
                                              1, "2021-3-19", 100)
        self.assertEqual(403, status_code)
        self.assertEqual("invalid purchase", response_dict)

        status_code, response_dict = customer_loan(self.bank_teller_token,
                                                   self.customer_id, 300, 20,
                                                   '2021-2-10')
        _calculate_fine(
            LoanRecord.objects.get(
                loan_record_id=response_dict['loan_record_id']))
        customer_loan(self.bank_teller_token, self.customer_id, 1, 20,
                      '2021-2-10')

        # 信用等级不足测试
        status_code, response_dict = buy_fund(self.bank_teller_token,
                                              self.customer_id, self.fund_id,
                                              1, "2021-3-21", 100)
        self.assertEqual(403, status_code)
        self.assertEqual("credit level forbidden", response_dict)

        customer_loan(self.bank_teller_token, self.customer_id, 300000, 3,
                      '2021-1-10')
        loan_auto_repay(self.bank_teller_token)

        # 余额无法还清罚款测试
        status_code, response_dict = buy_fund(self.bank_teller_token,
                                              self.customer_id, self.fund_id,
                                              1, "2021-3-21", 100)
        self.assertEqual(403, status_code)
        self.assertEqual(EM_CANNOT_PAY_FINE, response_dict)
Exemple #7
0
    def test_buy_stock(self):
        # 信用等级不足测试
        status_code, response_dict = buy_stock(self.bank_teller_token,
                                               self.customer_id, self.stock_id,
                                               20, "2021-3-21")
        self.assertEqual(403, status_code)
        self.assertEqual("credit level forbidden", response_dict)

        # 无柜员权限测试
        status_code, response_dict = buy_stock("wrong token", self.customer_id,
                                               self.stock_id, 20, "2021-3-21")
        self.assertEqual(401, status_code)
        self.assertEqual("Unauthorized", response_dict)

        # 参数缺失测试
        status_code, response_dict = buy_stock(self.bank_teller_token,
                                               self.customer_id, self.stock_id,
                                               20)
        self.assertEqual(400, status_code)
        self.assertEqual(EM_INVALID_OR_MISSING_PARAMETERS, response_dict)

        # 客户不存在测试
        status_code, response_dict = buy_stock(self.bank_teller_token, -1,
                                               self.stock_id, 20, "2021-3-21")
        self.assertEqual(404, status_code)

        # 股票不存在测试
        status_code, response_dict = buy_stock(self.bank_teller_token,
                                               self.customer_id, -1, 20,
                                               "2021-3-21")
        self.assertEqual(404, status_code)

        # 购买时间错误测试
        status_code, response_dict = buy_stock(self.bank_teller_token,
                                               self.customer_id, self.stock_id,
                                               20, "2021-3-19")
        self.assertEqual(403, status_code)
        self.assertEqual("invalid purchase", response_dict)

        # 余额不足测试
        status_code, response_dict = buy_stock(self.bank_teller_token,
                                               self.customer_id, self.stock_id,
                                               2000, "2021-3-21")
        self.assertEqual(403, status_code)
        self.assertEqual(EM_DEPOSIT_NOT_ENOUGH, response_dict)

        customer_loan(self.bank_teller_token, self.customer_id, 30000, 1,
                      '2021-1-10')
        loan_auto_repay(self.bank_teller_token)

        # 余额无法还清罚款测试
        status_code, response_dict = buy_stock(self.bank_teller_token,
                                               self.customer_id, self.stock_id,
                                               1, "2021-3-21")
        self.assertEqual(403, status_code)
        self.assertEqual(EM_CANNOT_PAY_FINE, response_dict)

        customer_deposit(self.bank_teller_token, self.customer_id, 50000000)

        # 正确购买股票测试
        status_code, response_dict = buy_stock(self.bank_teller_token,
                                               self.customer_id, self.stock_id,
                                               20, "2021-3-21")
        self.assertEqual(200, status_code)
        self.assertEqual("stock purchase success", response_dict["msg"])

        # 正确购买相同股票测试
        status_code, response_dict = buy_stock(self.bank_teller_token,
                                               self.customer_id, self.stock_id,
                                               20, "2021-3-21")
        self.assertEqual(200, status_code)
        self.assertEqual("stock purchase success", response_dict["msg"])