Skip to content

fix(tests): atualizar imports de hooks movidos para subpastas#20

Merged
adm01-debug merged 1 commit into
mainfrom
fix/orphaned-hook-test-imports
May 19, 2026
Merged

fix(tests): atualizar imports de hooks movidos para subpastas#20
adm01-debug merged 1 commit into
mainfrom
fix/orphaned-hook-test-imports

Conversation

@adm01-debug
Copy link
Copy Markdown
Owner

@adm01-debug adm01-debug commented May 19, 2026

Problema

Job 76823255050 (Hook tests — Smoke tests (hooks)) falhou no main com Failed Suites 3:

FAIL  tests/hooks/catalog-comparison-smoke.test.ts
  Error: Failed to resolve import "@/hooks/useComparisonSync" from
  "tests/hooks/catalog-comparison-smoke.test.ts". Does the file exist?

FAIL  tests/hooks/usePrintAreas.smoke.test.ts
  Error: Failed to resolve import "@/hooks/usePrintAreas" from
  "tests/hooks/usePrintAreas.smoke.test.ts". Does the file exist?

FAIL  tests/hooks/useProductCustomizationOptions.smoke.test.ts
  Error: Failed to resolve import "@/hooks/productsCustomizationOptions" from
  "tests/hooks/useProductCustomizationOptions.smoke.test.ts". Does the file exist?

Test Files  3 failed | 2 passed (5)

Diagnóstico

Os hooks existem, mas foram movidos para subpastas hoje (19/mai), sem que os testes correspondentes fossem atualizados:

Hook Import antigo (quebrado) Localização real Commit do move
useComparisonSync @/hooks/useComparisonSync src/hooks/comparison/useComparisonSync.ts 4df6ecf
usePrintAreas @/hooks/usePrintAreas src/hooks/simulation/usePrintAreas.ts 95bac00
useProductCustomizationOptions @/hooks/productsCustomizationOptions ⚠️ src/hooks/products/useProductCustomizationOptions.ts (typo pré-existente: faltava use e products estava plural)

Verificado: exports continuam idênticos (export function useComparisonSync, export function usePrintAreas, export function useProductCustomizationOptions) — só os paths mudaram.

Solução

Atualizar os 3 imports nos arquivos de teste. Não alterar nada em src/, nada em workflows, nada em config.

Mudança

  • 3 arquivos em tests/hooks/:
    • catalog-comparison-smoke.test.ts (1 linha)
    • usePrintAreas.smoke.test.ts (1 linha)
    • useProductCustomizationOptions.smoke.test.ts (1 linha)
  • Total: +3 / -3 linhas
  • 0 mudanças em source code, workflows ou configs

Validação local

$ npx vitest run \
    tests/hooks/catalog-comparison-smoke.test.ts \
    tests/hooks/usePrintAreas.smoke.test.ts \
    tests/hooks/useProductCustomizationOptions.smoke.test.ts

 ✓ catalog-comparison-smoke.test.ts > useCatalogFiltering (vazio) > monta sem crashar
 ✓ catalog-comparison-smoke.test.ts > useComparisonSync > monta sem crashar
 ✓ usePrintAreas.smoke.test.ts > usePrintAreas > retorna [] quando productId é null
 ✓ usePrintAreas.smoke.test.ts > usePrintAreas > adapta print_area_techniques
 ✓ useProductCustomizationOptions.smoke.test.ts > não chama RPC quando productId é null
 ✓ useProductCustomizationOptions.smoke.test.ts > adapta payload PT canônico

 Test Files  3 passed (3)
      Tests  6 passed (6)

Refs: run 26121173456 / job 76823255050


Summary by cubic

Updated three smoke test imports to match the new hook subfolder paths, fixing import resolution errors in CI. No app code changes; tests pass.

  • Bug Fixes
    • @/hooks/useComparisonSync -> @/hooks/comparison/useComparisonSync
    • @/hooks/usePrintAreas -> @/hooks/simulation/usePrintAreas
    • @/hooks/productsCustomizationOptions -> @/hooks/products/useProductCustomizationOptions

Written for commit dc9fb1d. Summary will update on new commits. Review in cubic

Summary by CodeRabbit

  • Refactor
    • Reorganizados os caminhos de importação interna de testes para melhor estruturação do código.

Review Change Stack

3 testes de smoke em tests/hooks/ estavam quebrando com 'Failed to
resolve import' no CI (job 76823255050, run 26121173456) porque
referenciavam paths antigos de hooks que foram movidos para
subpastas em commits 4df6ecf e 95bac00 (ambos de 19/mai).

Imports corrigidos:
- @/hooks/useComparisonSync           -> @/hooks/comparison/useComparisonSync
- @/hooks/usePrintAreas               -> @/hooks/simulation/usePrintAreas
- @/hooks/productsCustomizationOptions-> @/hooks/products/useProductCustomizationOptions

(o terceiro tinha um typo adicional: faltava 'use' no inicio do path
e o 's' de products estava plural — o nome correto do hook exportado
e' useProductCustomizationOptions e fica em src/hooks/products/.)

Validacao local (mesma versao de Node do CI, v20.20.2):
  npx vitest run \
    tests/hooks/catalog-comparison-smoke.test.ts \
    tests/hooks/usePrintAreas.smoke.test.ts \
    tests/hooks/useProductCustomizationOptions.smoke.test.ts

Resultado: 3 test files / 6 tests passed (309ms tests, 9.11s total).

Refs: run 26121173456 / job 76823255050
Copilot AI review requested due to automatic review settings May 19, 2026 19:56
@vercel
Copy link
Copy Markdown

vercel Bot commented May 19, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
we-dream-big Ready Ready Preview, Comment May 19, 2026 7:57pm

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 19, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1e4bbd83-c12c-4514-bc0b-b708ea4e00f1

📥 Commits

Reviewing files that changed from the base of the PR and between 428aefc and dc9fb1d.

📒 Files selected for processing (3)
  • tests/hooks/catalog-comparison-smoke.test.ts
  • tests/hooks/usePrintAreas.smoke.test.ts
  • tests/hooks/useProductCustomizationOptions.smoke.test.ts

Walkthrough

O PR atualiza três testes de smoke para importar hooks a partir de novos caminhos, refletindo uma reorganização de estrutura de pastas: useComparisonSync para @/hooks/comparison, usePrintAreas para @/hooks/simulation, e useProductCustomizationOptions para @/hooks/products. Nenhuma lógica de teste foi alterada.

Changes

Reorganização de imports de hooks

Layer / File(s) Summary
Atualizar imports de hooks para novas rotas
tests/hooks/catalog-comparison-smoke.test.ts, tests/hooks/usePrintAreas.smoke.test.ts, tests/hooks/useProductCustomizationOptions.smoke.test.ts
Três testes de smoke são atualizados para importar hooks a partir de novos caminhos de módulo: useComparisonSync de @/hooks/comparison/useComparisonSync, usePrintAreas de @/hooks/simulation/usePrintAreas, e useProductCustomizationOptions de @/hooks/products/useProductCustomizationOptions.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed O título descreve claramente a mudança principal: atualização de imports de hooks que foram movidos para subpastas, alinhado com as 3 correções de imports nos testes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/orphaned-hook-test-imports

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR corrige falhas de resolução de imports em smoke tests de hooks após os hooks terem sido movidos para subpastas em src/hooks/, alinhando os paths usados nos testes com a localização real dos módulos.

Changes:

  • Atualiza o import de useComparisonSync para @/hooks/comparison/useComparisonSync.
  • Atualiza o import de usePrintAreas para @/hooks/simulation/usePrintAreas.
  • Corrige o import de useProductCustomizationOptions para @/hooks/products/useProductCustomizationOptions (incluindo o typo pré-existente no path antigo).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
tests/hooks/catalog-comparison-smoke.test.ts Ajusta import do hook de comparação para a nova subpasta (comparison/).
tests/hooks/usePrintAreas.smoke.test.ts Ajusta import do hook de simulação para a nova subpasta (simulation/).
tests/hooks/useProductCustomizationOptions.smoke.test.ts Ajusta import do hook de produtos para a nova subpasta (products/) corrigindo o path antigo incorreto.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 3 files

Tip: cubic could auto-approve low-risk PRs like this, if it thinks it's safe to merge. Learn more

Re-trigger cubic

@adm01-debug adm01-debug merged commit c180880 into main May 19, 2026
25 of 33 checks passed
@adm01-debug adm01-debug deleted the fix/orphaned-hook-test-imports branch May 24, 2026 17:58
adm01-debug added a commit that referenced this pull request Jun 4, 2026
…644)

Auditoria exaustiva do módulo de catálogo — correções seguras e isoladas:

1. useProductImages.fetchProductImagesBatch: usa filtro IN(product_id) em
   chunks (80) em vez de baixar a tabela product_images inteira (limit 5000)
   e filtrar em memória — evita transferir milhares de linhas e o
   truncamento silencioso pelo teto de limit.

2/14/26. product-sorting: comparador único compareNamePtBR (Intl.Collator
   pt-BR, numeric + sensitivity base) — "Caneta 2" antes de "Caneta 10",
   acentuação consistente. Tie-break por id em todos os modos → ordem
   determinística entre páginas no infinite scroll. Aliases name-asc/
   name-desc tratados explicitamente (antes caíam no no-op default), tanto
   no sorter quanto no orderBy server-side do productService.

4/28. useFiltersPageState: valida priceRange e minStock vindos da URL
   (NaN guard + clamp min<=max) — antes ?priceMin=abc zerava a lista sem
   feedback. sortBy da URL só é aceito se for um valor conhecido.

20. useFiltersPageState: filtro de Técnicas só conta como ativo / exibe
   chip / filtra quando há metadata.techniques nos produtos. Antes era um
   no-op que ainda contava no badge e mostrava chip (falso positivo).

5/10. Migração add_catalog_sort_indexes: índices parciais (WHERE active)
   para sale_price, created_at DESC e stock_quantity DESC — colunas de
   ordenação do catálogo que não tinham índice. Já aplicada no projeto.

Testes unitários adicionados para o collator pt-BR, aliases de nome e
tie-break determinístico. Gates TSC (0 erros) e ESLint baseline (0) verdes.

https://claude.ai/code/session_01E14WrLRzQUQpeRs9sFV2uk

Co-authored-by: Claude <noreply@anthropic.com>
adm01-debug added a commit that referenced this pull request Jun 5, 2026
* perf(catalog): quick wins da auditoria do catálogo (#1,#2,#4,#5,#20)

Auditoria exaustiva do módulo de catálogo — correções seguras e isoladas:

1. useProductImages.fetchProductImagesBatch: usa filtro IN(product_id) em
   chunks (80) em vez de baixar a tabela product_images inteira (limit 5000)
   e filtrar em memória — evita transferir milhares de linhas e o
   truncamento silencioso pelo teto de limit.

2/14/26. product-sorting: comparador único compareNamePtBR (Intl.Collator
   pt-BR, numeric + sensitivity base) — "Caneta 2" antes de "Caneta 10",
   acentuação consistente. Tie-break por id em todos os modos → ordem
   determinística entre páginas no infinite scroll. Aliases name-asc/
   name-desc tratados explicitamente (antes caíam no no-op default), tanto
   no sorter quanto no orderBy server-side do productService.

4/28. useFiltersPageState: valida priceRange e minStock vindos da URL
   (NaN guard + clamp min<=max) — antes ?priceMin=abc zerava a lista sem
   feedback. sortBy da URL só é aceito se for um valor conhecido.

20. useFiltersPageState: filtro de Técnicas só conta como ativo / exibe
   chip / filtra quando há metadata.techniques nos produtos. Antes era um
   no-op que ainda contava no badge e mostrava chip (falso positivo).

5/10. Migração add_catalog_sort_indexes: índices parciais (WHERE active)
   para sale_price, created_at DESC e stock_quantity DESC — colunas de
   ordenação do catálogo que não tinham índice. Já aplicada no projeto.

Testes unitários adicionados para o collator pt-BR, aliases de nome e
tie-break determinístico. Gates TSC (0 erros) e ESLint baseline (0) verdes.

https://claude.ai/code/session_01E14WrLRzQUQpeRs9sFV2uk

* fix(filters): add onSale chip + silence exhaustive lint regressions from main

- useFiltersPageState: onSale was counted in activeFiltersCount but had no
  corresponding chip in activeFiltersSummary — users could not remove it via
  the removable-filter UI. Added "Em Oferta / Sim" summary entry.
- ProductCard, useMobileSidebarFix: add eslint-disable-next-line for
  react-hooks/exhaustive-deps where omission is intentional (granular deps
  vs whole object; route-change-only trigger).
- ThemeInitializer.test, useCatalogPrefetch.test: add eslint-disable-next-line
  for no-explicit-any on vitest mock casts (standard test-mocking pattern).
  All 4 files were introduced by main-branch commits after the baseline was
  generated; these suppress the regressions without changing runtime behavior.

https://claude.ai/code/session_01E14WrLRzQUQpeRs9sFV2uk

---------

Co-authored-by: Claude <noreply@anthropic.com>
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