agentsclimarketplace

Test

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

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.From its SKILL.md

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.

3 things to look at

  • reads credentialsReads from 3 credential sources: `FLUIG_USER` and 2 more.
  • 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.
  • runs commandsInstructs the agent to run 2 commands, including `cp <plugin>/skills/test/assets/karma.conf.template.js ./karma.conf.js` and 1 more.

SKILL.md

4.2 KB, ~1.1k tokens by cl100k_base, 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.

What ships with it: 1 file

1.2 KB alongside SKILL.md, 1 of them executable

assets/

Keep looking

Skills are one crate of 325,949. 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.