agentsclimarketplace

Test

Skill tbc-servicos/dataagile-agent-kit/fluig/skills/test

Plugin Claude Code para Protheus e ADVPL/TLPP — base 155k+ registros, Agent Teams, compilação TDS-CLI, testes TIR e MCP PO-UI

Install
npx -y skills add tbc-servicos/dataagile-agent-kit --skill test

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Gera e orienta execução de testes para widgets TOTVS Fluig. Unit tests com Jasmine + Karma e E2E com Playwright. Sempre questiona a URL do servidor antes de gerar configurações E2E. O E2E requer build + deploy antes de executar.

SKILL.md

4.2 KB, as published. Nobody here has run it

Você vai ajudar a criar e executar testes para widgets Fluig.

Existem dois tipos de teste:

  • Unit (Jasmine + Karma): testa componentes, services e pipes isoladamente, sem servidor
  • E2E (Playwright): testa o widget publicado no servidor Fluig real

HARD GATE — Antes de qualquer E2E

Antes de gerar qualquer configuração E2E ou executar testes E2E, você DEVE:

  1. Perguntar ao usuário a URL do servidor Fluig (ex: https://fluig.empresa.com.br)
  2. Confirmar que o widget já foi publicado ou executar o fluxo de build + deploy agora
  3. Nunca usar localhost como base URL — widgets Fluig só rodam no servidor Fluig

Use AskUserQuestion para coletar:

  • URL do servidor Fluig
  • Usuário e senha (ou confirmar que FLUIG_USER/FLUIG_PASSWORD estão definidos)
  • Página Fluig onde o widget está publicado (ex: /portal/p/home)

Busca de Testes Existentes (Context Enrichment)

Após confirmar o widget/módulo, consulte testes similares antes de gerar:

listTests({ platform: "fluig", module: "<widget/módulo>", limit: 5 })
  • Se retornar resultados: mostre os cenários existentes e pergunte se quer algo diferente ou complementar
  • Se retornar vazio: prossiga normalmente
  • Use os exemplos para manter consistência de page objects e seletores

Unit Tests — Jasmine + Karma

Estrutura esperada, configuração karma.conf.js com cobertura Istanbul, templates spec para componentes, serviços e execução.

Consulte a referência completa via MCP:

searchKnowledge({ skill: "fluig-test", keyword: "unit tests" })

Configuração de cobertura (obrigatória)

Se o projeto não tem karma.conf.js com coverageReporter.check, copie o template do plugin — cobertura vira gate mecânico (npm test falha sozinho abaixo de 70%):

cp <plugin>/skills/test/assets/karma.conf.template.js ./karma.conf.js
npm test -- --watch=false --browsers=ChromeHeadless --code-coverage

E2E Tests — Playwright

Playwright é a engine oficial de E2E do plugin — visão computacional real da tela (screenshots + snapshots), não automação cega de seletores.

HARD GATE: build + deploy obrigatório antes dos testes.

Restrições Fluig obrigatórias:

  • BASE_URL = URL do servidor Fluig real (ex: https://fluig.empresa.com.br) — nunca localhost
  • Confirmar que o widget está publicado antes de rodar qualquer teste E2E
  • Credenciais via FLUIG_USER / FLUIG_PASSWORD no .env.test — nunca hardcoded
  • A página de teste deve ser a página Fluig onde o widget está publicado (ex: /portal/p/home)

Para setup completo, playwright.config.ts, CLI commands, autenticação via storageState e templates, use o plugin playwright:

/playwright:playwright-cli

Regras Obrigatórias

  • coverage/ nunca commitado
  • Usuário e senha via variáveis de ambiente, nunca hardcoded
  • Todos os specs devem cobrir casos de erro
  • E2E requer deploy prévio

Consulta de Conhecimento

Se precisar de informação não disponível no MCP, consulte o RAG:

searchKnowledge({ keyword: "<termo relevante>" })

Gravar Teste no MCP (após validação)

Após confirmação que o teste E2E passou no servidor Fluig real:

"Teste validado. Quer salvar na base de conhecimento para outros devs reutilizarem?"

Apresente o rascunho para revisão antes de persistir:

platform:  fluig
module:    <nome do widget/módulo>
title:     <título descritivo>
scenario:  <o que o teste valida>
script:    <código Playwright completo>
tags:      <CSV, ex: "widget,formulario,aprovacao">

Somente após confirmação explícita do dev, chame:

saveTest({
  platform:     "fluig",
  module:       "<módulo>",
  title:        "<título>",
  scenario:     "<cenário>",
  script:       "<script>",
  tags:         "<tags>",
  submitted_by: "<email via FLUIG_USER ou ~/.config/tbc/dev-config.json>"
})

Resposta de sucesso: "✅ Teste #<id> salvo na base de conhecimento." Em caso de erro: preserve o rascunho para o dev salvar manualmente.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.