feat(products): submenu de Subgrupos aninhado dentro de Grupos
Mesma lógica do submenu "Produtos" já existente: "Grupos" agora expande seu próprio submenu com "Subgrupos" (AppShell ganha suporte a um segundo nível de accordion aninhado). Nova tela lista todos os subgrupos de todos os grupos, com coluna Grupo e criação via dropdown de grupo explícito — complementa (não substitui) o painel já existente dentro da tela de um grupo específico. listProductSubgroups passa a resolver group_name via JOIN. Suíte: 95/95. pnpm turbo run typecheck build: 28/28 (core-web, reseller-web e subscriber-web confirmados sem regressão no AppShell compartilhado). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -130,6 +130,14 @@ describe("product catalogs — types/groups/subgroups/brands/units", () => {
|
||||
.expect(200);
|
||||
expect(list.body).toHaveLength(1);
|
||||
expect(list.body[0].id).toBe(subgroup.body.id);
|
||||
expect(list.body[0].group_name).toBe(group.body.name);
|
||||
|
||||
const unscoped = await agent(app)
|
||||
.get("/api/v1/products/subgroups")
|
||||
.set(...bearer(admin.accessToken))
|
||||
.expect(200);
|
||||
const found = unscoped.body.find((s: { id: string }) => s.id === subgroup.body.id);
|
||||
expect(found?.group_name).toBe(group.body.name);
|
||||
|
||||
const renamed = `${subgroupName} Renomeado`;
|
||||
const updated = await agent(app)
|
||||
|
||||
Reference in New Issue
Block a user