def test_call_gateway_generic_error(mock_get_payment_gateway, payment_dummy): mock_get_payment_gateway.return_value = (Mock(authorize=Mock( side_effect=Exception('something went wrong'))), {}) with pytest.raises(PaymentError) as e: call_gateway(operation_type=OperationType.AUTH, payment=payment_dummy, payment_token='token') assert str(e.value) == 'Gateway encountered an error'
def test_call_gateway_invalid_response( mock_get_payment_gateway, payment_dummy): mock_get_payment_gateway.return_value = ( Mock(auth=Mock(return_value=('wrong', 'response'))), {}) with pytest.raises(PaymentError) as e: call_gateway( operation_type=OperationType.AUTH, payment=payment_dummy, payment_token='token') assert str(e.value) == 'Gateway response validation failed'
def test_call_gateway_generic_error( mock_get_payment_gateway, payment_dummy): mock_get_payment_gateway.return_value = ( Mock(authorize=Mock( side_effect=Exception('something went wrong'))), {}) with pytest.raises(PaymentError) as e: call_gateway( operation_type=OperationType.AUTH, payment=payment_dummy, payment_token='token') assert str(e.value) == 'Gateway encountered an error'
def test_call_gateway_function_not_implemented( mock_get_payment_gateway, payment_dummy): class CustomClass: pass mock_get_payment_gateway.return_value = (CustomClass(), {}) with pytest.raises(PaymentError) as e: call_gateway( operation_type=OperationType.AUTH, payment=payment_dummy, payment_token='token') assert str(e.value) == 'Gateway doesn\'t implement AUTH operation'