Atualizações de objetos a serem criados para contrinuição.Aplicativo de testes do manifesto.
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
# Teste local de módulos
|
||||
|
||||
Esta tela ajuda a testar as queries dos módulos do `app-dono-modulos` sem precisar alterar o app principal.
|
||||
|
||||
## Como abrir
|
||||
|
||||
Execute o app de teste e acesse a URL exibida no terminal:
|
||||
|
||||
```bash
|
||||
npm run test:app
|
||||
```
|
||||
|
||||
Também é possível escolher uma porta:
|
||||
|
||||
```bash
|
||||
npm run test:app -- --port=4320
|
||||
```
|
||||
|
||||
## Campos principais
|
||||
|
||||
- **Módulo**: seleciona o módulo do manifesto, por exemplo `flash-de-perdas`.
|
||||
- **Login remoto**: URL do endpoint de login usado para gerar o bearer.
|
||||
- **Email/Senha**: credenciais enviadas ao endpoint de login.
|
||||
- **Query**: seleciona a query do módulo, por exemplo `flash_categorias`.
|
||||
- **Sistema**: seleciona a implementação local da query, como `C5_big`.
|
||||
- **Parâmetros**: mostra os parâmetros declarados na query.
|
||||
- **Manifesto remoto**: base usada para montar a chamada remota.
|
||||
- **Bearer token**: token de autenticação usado na chamada remota.
|
||||
- **Client ID**: valor enviado no header `x-client-id`.
|
||||
|
||||
## Gerar bearer
|
||||
|
||||
Antes de executar o manifesto remoto, preencha a URL de login, o email e a senha.
|
||||
|
||||
O botão **Gerar bearer** chama o endpoint de login com o JSON:
|
||||
|
||||
```json
|
||||
{
|
||||
"email": "usuario@exemplo.com",
|
||||
"senha": "senha"
|
||||
}
|
||||
```
|
||||
|
||||
Quando o login responde com sucesso, o app usa a propriedade `token` do JSON de retorno. Como apoio,
|
||||
também procura em campos comuns como `access_token`, `accessToken`, `bearer`, `bearerToken` ou `jwt`. O valor encontrado é inserido
|
||||
automaticamente no campo **Bearer token**.
|
||||
|
||||
## Renderizar SQL
|
||||
|
||||
O botão **Renderizar SQL** executa a implementação local da query e mostra o SQL final no quadro preto.
|
||||
|
||||
Para valores usados diretamente no SQL, informe literais SQL. Exemplo:
|
||||
|
||||
```sql
|
||||
'2026-05-05'
|
||||
```
|
||||
|
||||
Para parâmetros de contexto, como `ctx_user_companies_for_module`, use uma lista SQL:
|
||||
|
||||
```sql
|
||||
1,2,3
|
||||
```
|
||||
|
||||
## Executar manifesto
|
||||
|
||||
O botão **Executar manifesto** chama a API remota usando os valores da tela.
|
||||
|
||||
A URL é montada no formato do Postman:
|
||||
|
||||
```text
|
||||
{baseUrl}/api/manifest/modules/{modulo}/queries/{query}/execute
|
||||
```
|
||||
|
||||
Com o `baseUrl` preenchido como:
|
||||
|
||||
```text
|
||||
https://app-dono.vitruvio.com.br/api
|
||||
```
|
||||
|
||||
a chamada fica:
|
||||
|
||||
```text
|
||||
https://app-dono.vitruvio.com.br/api/api/manifest/modules/{modulo}/queries/{query}/execute
|
||||
```
|
||||
|
||||
O quadro preto mostra somente o body retornado pela API, como no Postman. O status HTTP e a URL chamada aparecem abaixo dos botões.
|
||||
|
||||
## Parâmetros nulos
|
||||
|
||||
Para enviar `null` no JSON remoto, escreva:
|
||||
|
||||
```text
|
||||
null
|
||||
```
|
||||
|
||||
Exemplo para `flash-de-perdas` / `flash_categorias`:
|
||||
|
||||
```json
|
||||
{
|
||||
"data_perda": "2026-05-05",
|
||||
"codigo_categoria_pai": null,
|
||||
"cod_empresa": null
|
||||
}
|
||||
```
|
||||
|
||||
Na tela, preencha:
|
||||
|
||||
```text
|
||||
data_perda = '2026-05-05'
|
||||
codigo_categoria_pai = null
|
||||
cod_empresa = null
|
||||
```
|
||||
|
||||
## Botões auxiliares
|
||||
|
||||
- **Copiar**: copia o conteúdo atual do quadro preto.
|
||||
- **Copiar resposta**: copia o conteúdo atual do quadro preto depois de uma chamada remota.
|
||||
- **Rodar vet**: executa `npm run vet` para validar os módulos.
|
||||
- **Recarregar**: recarrega a lista de módulos e queries.
|
||||
|
||||
## Observação
|
||||
|
||||
O teste local usa os arquivos atuais do projeto. A execução remota usa o manifesto publicado no ambiente remoto.
|
||||
Reference in New Issue
Block a user