Skip to content

fix: Signer.notify classmethod, QueryBuilder em list_for_*, mypy strict e cobertura 88%#2

Merged
djosino merged 8 commits into
mainfrom
fix/requirement-ids-and-docs-cleanup
May 21, 2026
Merged

fix: Signer.notify classmethod, QueryBuilder em list_for_*, mypy strict e cobertura 88%#2
djosino merged 8 commits into
mainfrom
fix/requirement-ids-and-docs-cleanup

Conversation

@djosino
Copy link
Copy Markdown
Owner

@djosino djosino commented May 21, 2026

Resumo

  • fix(types): Expande escopo mypy strict para bound_resource, transport, resource, client_scope e recursos notariais; corrige anotações de tipo e proxy_map no urllib transport
  • fix(signer): Signer.notify vira classmethod — recebe envelope_id e signer_id explicitamente em vez de depender de _parent_id da instância
  • fix(requirement): list_for_document, list_for_signer e list_requirements usam QueryBuilder().filter() em vez de construção manual de filter[k] params
  • test: Expande cobertura de notarial (envelope, requirement, signer), clientes (ClicksignClient, AsyncClient) e adiciona 7 novos módulos de teste (bound_resource, transport, json_api operations, types)
  • ci: Adiciona ruff format --check e --cov-fail-under=88 ao pipeline

Plano de testes

  • CI passa (ruff check + ruff format + mypy + pytest --cov-fail-under=88)
  • Signer.notify(envelope_id, signer_id, message) funciona com nova assinatura
  • Requirement.list_for_document / list_for_signer passam filtros corretamente
  • Novos módulos de teste não quebram suite existente

🤖 Generated with Claude Code

danilojosino and others added 8 commits May 21, 2026 13:24
- Adiciona bound_resource, transport, resource, client_scope e outros ao mypy strict
- Usa `builtins.list` onde `list` shadowed pelo nome do método Resource.list
- Corrige proxy_map em UrllibHTTPClient para não incluir key com proxy=None
- Usa variável `raw: Any` para acessar atributos de exc httpx sem mypy error
- Alinha assinaturas delete/retrieve com a base Resource (options=None)
- Remove type: ignore redundantes após correções acima

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…id explícitos

Instância podia não ter _parent_id definido, forçando fallback para rota
sem envelope. Agora caller passa envelope_id e signer_id diretamente,
eliminando dependência de estado interno da instância.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ra filtros

Substituí construção manual de {f"filter[{k}]": str(v)} por
QueryBuilder().filter(**filters).to_params() — consistente com o resto
do SDK e garante encoding correto de valores complexos.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adiciona casos para Signer.notify (classmethod), Requirement.list_for_*,
Envelope.list_requirements com filtros, e fluxos de ClicksignClient /
AsyncClient que não tinham cobertura.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…_api e types

Novos arquivos cobrem BoundResource, AsyncBoundResource, HttpxHTTPClient,
HttpxAsyncHTTPClient, http_executor, operações atômicas JSON:API e
atributos de tipos TypedDict — áreas sem cobertura até agora.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ruff format --check garante formatação consistente no pipeline
- pytest --cov-fail-under=88 evita regressão de cobertura

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- CHANGELOG registra fixes de Signer.notify, QueryBuilder, tipos e CI
- README reflete assinatura nova de Signer.notify
- Guias (PAGINATION, TYPES, WORKFLOW, SDK_CONTRACT, etc.) alinhados
  com as mudanças de API desta branch
- Adiciona docs/CONSIDERACOES.md e exemplo 13-async-fastapi.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Arquivo é backlog interno da equipe; .gitignore já o excluía mas não
estava staged. Remove do índice git e commita a entrada no .gitignore.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@djosino djosino merged commit 925048b into main May 21, 2026
0 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants