-
o teste esta dando esse erro: (RuntimeError: Use params or add_pagination) def resolve_params(params: Optional[TAbstractParams] = None) -> TAbstractParams:
if params is None:
try:
return cast(TAbstractParams, _params_val.get())
except LookupError:
raise RuntimeError("Use params or add_pagination") from None Parece que o erro está ocorrendo porque a função resolve_params está tentando obter um valor de _params_val quando params é None. No entanto, se _params_val.get() falhar, ele lança um RuntimeError com a mensagem "Use params or add_pagination". Uma possível solução para este problema seria garantir que _params_val tenha um valor antes de tentar acessá-lo. Isso pode ser feito verificando se _params_val é None e, em caso afirmativo, atribuindo-lhe um valor padrão. Aqui está uma possível correção para o código: def resolve_params(params: Optional[TAbstractParams] = None) -> TAbstractParams:
if params is None:
try:
if _params_val is None:
_params_val.set(default_value) # substitua default_value pelo valor padrão desejado
return cast(TAbstractParams, _params_val.get())
except LookupError:
raise RuntimeError("Use params or add_pagination") from None Por favor, substitua Contornei o problema no teste fazendo esse mock: @pytest.fixture
def mock_paginate_resolve_params(mocker):
mocker.patch(
"fastapi_pagination.api.resolve_params",
return_value=Params(page=1, size=50),
) |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
Hi @anaplopes, Sorry, I don't speak Portuguese, I used google translate to understand your problem. Please, correct me if I'm wrong and didn't understand some parts correctly. So you have an issue because You can try to use function from fastapi_pagination import set_params
set_params(Params(page=1, size=50)) |
Beta Was this translation helpful? Give feedback.
Hi @anaplopes,
Sorry, I don't speak Portuguese, I used google translate to understand your problem. Please, correct me if I'm wrong and didn't understand some parts correctly.
So you have an issue because
resolve_params
raises an exception in your tests and you propose to add some default value that can be used for cases when no paras is set. Am I correct?You can try to use function
set_params
function for such cases. It will do exactly what you want to achieve.So inside your tests instead of mocking
resolve_params
function you can just callset_params
with default params values that you want to use: