コード例 #1
0
 def test_without_agent_info(self, balancer_api, sno, company_inn,
                             payment_address, group_code,
                             check_receipt_state, operation: str):
     """
     Тест проверяет регистрацию чека без указания поля {receipt|correction}.items.{item}.agent_info, но с указанием
     поля {receipt|correction}.items.{item}.supplier_info
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         item = receipt._main.items[0]
         item.supplier_info = default_supplier_info()
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(
                 receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #2
0
 def test_correct(self, balancer_api, sno, company_inn, payment_address, group_code, check_receipt_state,
                  operation: str, vat_type: str, nds: int):
     """
     Тест проверяет регистрацию чека с корректным значением поля {receipt|correction}.vats
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         nds_sum = get_nds_sum(Defaults.Item.price * Defaults.Item.quantity, nds)
         item_price = Defaults.Item.price + nds_sum
         item = ReceiptBase.Item(vat=ReceiptBase.Vat(type_=vat_type), price=item_price,
                                 sum_=item_price * Defaults.Item.quantity,
                                 quantity=Defaults.Item.quantity, name=Defaults.Item.name,
                                 measure=Defaults.Item.measure, payment_method=Defaults.Item.payment_method,
                                 payment_object=Defaults.Item.payment_object)
         receipt._main.items = [item]
         receipt._main.vats = [ReceiptBase.Vat(type_=vat_type, sum_=nds_sum)]
         total = sum((item.sum for item in receipt._main.items))
         receipt._main.payments = [ReceiptBase.Payment(type_=Defaults.Payment.type, sum_=total)]
         receipt._main.total = total
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #3
0
 def test_wrong_vat_sum(self, balancer_api, sno, company_inn,
                        payment_address, group_code, operation: str,
                        vat_type: Any, nds: Any):
     """
     Тест проверяет регистрацию чека с некорректным значением поля {receipt|correction}.items.{item}.vat.sum
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         item = receipt._main.items[0]
         nds_sum = get_nds_sum(item.price, nds)
         item.price = item.price + nds_sum
         item.sum = item.price * item.quantity
         vat = ReceiptBase.Vat(type_=vat_type,
                               sum_=(nds_sum * item.quantity) + 1)
         item.vat = vat
         receipt._main.payments[0].sum = item.sum
         receipt._main.total = item.sum
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_error(response)
コード例 #4
0
 def test_correct(self, balancer_api, sno, company_inn, payment_address, group_code, check_receipt_state,
                  operation: str, item_quantity: Union[int, float, Any]):
     """
     Тест проверяет регистрацию чека с корректным значением поля {receipt|correction}.items.{item}.quantity
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         item = receipt._main.items[0]
         item.quantity = item_quantity
         if isinstance(item_quantity, (int, float)):
             item.sum = item.price * item.quantity
             receipt._main.payments[0].sum = item.sum
             receipt._main.total = item.sum
             if isinstance(item_quantity, float):
                 item.measure = 10
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #5
0
 def test_correct_with_sum(self, balancer_api, sno, company_inn,
                           payment_address, group_code, check_receipt_state,
                           operation: str, vat_type: str,
                           nds: Union[int, float]):
     """
     Тест проверяет регистрацию чека с корректным значением поля {receipt|correction}.items.{item}.vat
     с указанием поля {receipt|correction}.items.{item}.vat.sum
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         item = receipt._main.items[0]
         nds_sum = get_nds_sum(item.price, nds)
         item.price = item.price + nds_sum
         item.sum = item.price * item.quantity
         vat = ReceiptBase.Vat(type_=vat_type, sum_=nds_sum * item.quantity)
         item.vat = vat
         receipt._main.payments[0].sum = item.sum
         receipt._main.total = item.sum
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(
                 receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #6
0
 def test_all_federal_ids(self, balancer_api, sno, company_inn,
                          payment_address, group_code, check_receipt_state,
                          operation: str, federal_id: str,
                          federal_id_name: str):
     """
     Тест проверяет регистрацию чека со всеми допустимыми значениями поля
     {receipt|correction}.items.{item}.sectorial_item_props.federal_id
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         item = receipt._main.items[0]
         sectorial_item_props = ReceiptBase.Item.SectorialItemProps(
             federal_id=federal_id,
             date=Defaults.today_date,
             number=Defaults.Item.SectorialItemProps.number,
             value=Defaults.Item.SectorialItemProps.value,
         )
         item.sectorial_item_props = [sectorial_item_props]
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(
                 receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #7
0
 def test_item_quantity_with_mark_quantity_incorrect(self, balancer_api, sno, company_inn, payment_address,
                                                     group_code, operation: str, item_quantity: Any):
     """
     Тест проверяет регистрацию чека при одновременном указании полей {receipt|correction}.items.{item}.quantity и
     {receipt|correction}.items.{item}.mark_quantity с некорректым значением
     {receipt|correction}.items.{item}.quantity (!=1)
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         item = receipt._main.items[0]
         item.mark_quantity = ReceiptBase.Item.MarkQuantity(numerator=2, denominator=1)
         item.mark_code = ReceiptBase.Item.MarkCode(unknown='test')
         item.quantity = item_quantity
         if isinstance(item_quantity, (int, float)):
             if item_quantity > 0:
                 item.sum = item.price * item.quantity
                 receipt._main.payments[0].sum = item.sum
                 receipt._main.total = item.sum
                 if isinstance(item_quantity, float):
                     item.measure = 10
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #8
0
 def test_correct_all_types(self, balancer_api, sno, company_inn,
                            payment_address, group_code, operation: str,
                            check_receipt_state, correction_type: str,
                            correction_type_description: str):
     attach_to_allure(data=correction_type_description,
                      name='Описание типа коррекции')
     with step(1, 'Генерация чека'):
         receipt = DefaultReceiptCorrectionMinFields(
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         receipt.correction.correction_info = ReceiptBase.Correction.CorrectionInfo(
             type_=correction_type,
             base_date=Defaults.today_date,
             base_number=Defaults.Correction.base_number,
         )
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(
                 receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #9
0
 def test_correct(self, balancer_api, sno, company_inn, payment_address,
                  group_code, check_receipt_state, operation: str,
                  numerator: Union[int, float], denominator: Union[int,
                                                                   float]):
     """
     Тест проверяет регистрацию чека с корректным значением поля {receipt|correction}.items.{item}.mark_quantity
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         mark_code = ReceiptBase.Item.MarkCode(unknown='test')
         mark_quantity = ReceiptBase.Item.MarkQuantity(
             numerator=numerator, denominator=denominator)
         receipt._main.items[0].mark_code = mark_code
         receipt._main.items[0].mark_quantity = mark_quantity
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(
                 receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #10
0
 def test_correct_all_payment_methods(self, balancer_api, sno, company_inn,
                                      payment_address, group_code,
                                      check_receipt_state, operation: str,
                                      payment_method: str,
                                      payment_method_name: str):
     """
     Тест проверяет регистрацию чека со всеми допустимыми значениями поля
     {receipt|correction}.items.{item}.payment_method
     """
     attach_to_allure(data=payment_method_name,
                      name='Описание payment_method')
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         item = receipt._main.items[0]
         item.payment_method = payment_method
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(
                 receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #11
0
 def test_max_vats_count_both_sum(self, balancer_api, sno, company_inn, payment_address, group_code,
                                  check_receipt_state, operation: str):
     """
     Тест проверяет регистрацию чека с максимально допустимым количеством элементов в поле {receipt|correction}.vats
     с одновременным указанием полей {receipt|correction}.vats.{vat}.sum и {receipt|correction}.items.{item}.vat.sum
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         receipt._main.items = []
         receipt._main.vats = []
         for index, (vat_type, nds) in enumerate(Defaults.vat_types_dict.items()):
             nds_sum = get_nds_sum(Defaults.Item.price * Defaults.Item.quantity, nds)
             item_price = Defaults.Item.price + nds_sum
             vat = ReceiptBase.Vat(type_=vat_type, sum_=nds_sum)
             item = ReceiptBase.Item(vat=vat, price=item_price,
                                     sum_=item_price * Defaults.Item.quantity,
                                     quantity=Defaults.Item.quantity, name=Defaults.Item.name,
                                     measure=Defaults.Item.measure, payment_method=Defaults.Item.payment_method,
                                     payment_object=Defaults.Item.payment_object)
             receipt._main.items.append(item)
             receipt._main.vats.append(vat)
         total = sum((item.sum for item in receipt._main.items))
         receipt._main.payments = [ReceiptBase.Payment(type_=Defaults.Payment.type, sum_=total)]
         receipt._main.total = total
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #12
0
 def test_correct_all_types(self, balancer_api, sno, company_inn,
                            payment_address, group_code,
                            check_receipt_state, operation: str,
                            mark_type: str, mark_value: Union[int, str]):
     """
     Тест проверяет регистрацию чека с корректным значением поля {receipt|correction}.items.{item}.mark_code
     (всех возможных типов)
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         mark_code = ReceiptBase.Item.MarkCode(**{mark_type: mark_value})
         receipt._main.items[0].mark_code = mark_code
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(
                 receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #13
0
 def test_name_over_length(self, balancer_api, sno, company_inn, payment_address, group_code, check_receipt_state,
                           operation: str):
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         receipt._main.additional_user_props = ReceiptBase.AdditionalUserProps(name='t' * 65, value='test')
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #14
0
 def test_wrong_auth_data(self, balancer_api, method):
     """
     Тест проверяет получение авторизационного токена при передаче неверных логина и пароля
     """
     with step(1, 'Отправка запроса на получение токена'):
         response = balancer_api.get_token(Defaults.uuid,
                                           Defaults.uuid,
                                           method=method,
                                           save_token=False)
     with step(2, 'Валидация ответа'):
         assert_get_token_unauthorized(response)
コード例 #15
0
 def test_very_long_password(self, balancer_api, method):
     """
     Тест проверяет получение авторизационного токена при передаче очень длинного (некорректного) пароля
     """
     with step(1, 'Отправка запроса на получение токена'):
         response = balancer_api.get_token(Defaults.uuid,
                                           't' * 257,
                                           method=method,
                                           save_token=False)
     with step(2, 'Валидация ответа'):
         assert_get_token_bad_request(response)
コード例 #16
0
 def test_without_company_inn(self, balancer_api, sno, company_inn, payment_address, group_code, operation: str):
     """
     Тест проверяет регистрацию чека без указания поля {receipt|correction}.company.inn
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         receipt._main.company.inn = ...
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #17
0
 def test_company_sno_wrong_value(self, balancer_api, company_inn, payment_address, group_code, operation: str,
                                  company_sno: str):
     """
     Тест проверяет регистрацию чека с некорректным значением поля {receipt|correction}.company.sno
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=company_sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #18
0
 def test_get_token(self, balancer_api, balancer_login, balancer_password,
                    method):
     """
     Тест проверяет успешное получение авторизационного токена
     """
     with step(1, 'Отправка запроса на получение токена'):
         response = balancer_api.get_token(balancer_login,
                                           balancer_password,
                                           method=method,
                                           save_token=False)
     with step(2, 'Валидация ответа'):
         assert_get_token_success(response)
コード例 #19
0
 def test_wrong_total_format(self, balancer_api, sno, company_inn, payment_address, group_code, operation: str,
                             total):
     """
     Тест проверяет регистрацию чека с неверным форматом значения поля {receipt|correction}.total
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         receipt._main.total = total
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #20
0
 def test_without_value(self, balancer_api, sno, company_inn, payment_address, group_code, check_receipt_state,
                        operation: str):
     """
     Тест проверяет регистрацию чека при отсутствии поля {receipt|correction}.additional_user_props.value
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         receipt._main.additional_user_props = ReceiptBase.AdditionalUserProps(name='test')
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #21
0
 def test_company_payment_address_over_length(self, balancer_api, sno, company_inn, payment_address, group_code,
                                              operation: str):
     """
     Тест проверяет регистрацию чека с длиной значения поля {receipt|correction}.company.payment_address
     превышающей максимально допустимую
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         receipt._main.company.payment_address = 't' * 257
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #22
0
 def test_payments_over_max_count(self, balancer_api, sno, company_inn, payment_address, group_code, operation: str):
     """
     Тест проверяет регистрацию чека с количеством элементов в поле {receipt|correction}.payments
     превышающим максимально допустимое
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         payment = ReceiptBase.Payment(type_=1, sum_=receipt._main.total / 20)
         receipt._main.payments = [payment] * 20
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #23
0
 def test_wrong_payment_type(self, balancer_api, sno, company_inn, payment_address, group_code, operation: str,
                             payment_type):
     """
     Тест проверяет регистрацию чека с некорректным значением поля {receipt|correction}.payments.{payment}.type
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         payment = ReceiptBase.Payment(type_=payment_type, sum_=receipt._main.total)
         receipt._main.payments = [payment]
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #24
0
 def test_value_over_length(self, balancer_api, sno, company_inn, payment_address, group_code, check_receipt_state,
                            operation: str):
     """
     Тест проверяет регистрацию чека с длиной значения поля {receipt|correction}.additional_user_props.value
     первышающей максимально допустимую
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         receipt._main.additional_user_props = ReceiptBase.AdditionalUserProps(name='test', value='t' * 257)
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #25
0
 def test_agent_info_without_type(self, balancer_api, sno, company_inn, payment_address, group_code, operation: str):
     """
     Тест проверяет регистрацию чека без указания поля {receipt|correction}.items.{item}.agent_info.type
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         agent_info = default_agent_info()
         agent_info.type = ...
         item = receipt._main.items[0]
         item.agent_info = agent_info
         item.supplier_info = default_supplier_info()
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #26
0
 def test_wrong_value(self, balancer_api, sno, company_inn, payment_address,
                      group_code, operation: str, excise: Union[int,
                                                                float]):
     """
     Тест проверяет регистрацию чека с некорректным значением поля {receipt|correction}.items.{item}.excise
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         receipt._main.items[0].excise = excise
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_error(response)
コード例 #27
0
 def test_address_over_length(self, balancer_api, sno, company_inn, payment_address, group_code, operation: str):
     """
     Тест проверяет регистрацию чека с длиной значения поля
     {receipt|correction}.items.{item}.agent_info.receive_payments_operator.address превышающей максимально допустимую
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         agent_info = default_agent_info()
         agent_info.money_transfer_operator.address = 't' * 257
         item = receipt._main.items[0]
         item.agent_info = agent_info
         item.supplier_info = default_supplier_info()
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_error(response)
コード例 #28
0
 def test_company_sno_correct(self, balancer_api, company_inn, payment_address, group_code, check_receipt_state,
                              operation: str, company_sno: str):
     """
     Тест проверяет регистрацию чека с корректным значением поля {receipt|correction}.company.sno
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](sno=company_sno, company_inn=company_inn,
                                                     payment_address=payment_address)
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code, operation)
         assert_receipt_sending_success(response)
         receipt_uuid = response.json()['uuid']
     if check_receipt_state:
         with step(3, 'Получение нового статуса чека'):
             new_receipt_status, response = get_receipt_new_status(receipt_uuid, balancer_api, group_code)
             assert_receipt_state_done(response)
コード例 #29
0
 def test_wrong_format(self, balancer_api, sno, company_inn,
                       payment_address, group_code, operation: str,
                       callback_url: str):
     """
     Тест проверяет регистрацию чека с неверным форматом значения поля service.callback_url
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         receipt.service = ReceiptBase.Service(callback_url=callback_url)
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_error(response)
 def test_without_timestamp(self, balancer_api, sno, company_inn,
                            payment_address, group_code, operation: str):
     """
     Тест проверяет регистрацию чека без указания поля {receipt|correction}.operating_check_props.timestamp
     """
     with step(1, 'Генерация чека'):
         receipt = ReceiptBaseByOperation[operation](
             sno=sno,
             company_inn=company_inn,
             payment_address=payment_address)
         operating_check_props = ReceiptBase.OperatingCheckProps(
             name='0', value='test')
         receipt._main.operating_check_props = operating_check_props
         attach_receipt_to_allure(receipt)
     with step(2, 'Отправка запроса на регистрацию'):
         response = balancer_api.send_receipt(receipt, group_code,
                                              operation)
         assert_receipt_sending_error(response)