Home / File/ search.test.ts — ui Source File

search.test.ts — ui Source File

Architecture documentation for search.test.ts, a typescript file in the ui codebase. 6 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  e11ff698_0507_c6bc_62af_f84a56089cf7["search.test.ts"]
  c41eed12_c415_48c8_bcf4_9d09d3424a18["api.ts"]
  e11ff698_0507_c6bc_62af_f84a56089cf7 --> c41eed12_c415_48c8_bcf4_9d09d3424a18
  95834bbc_689d_8b36_7d45_d37bbccd3517["getRegistry"]
  e11ff698_0507_c6bc_62af_f84a56089cf7 --> 95834bbc_689d_8b36_7d45_d37bbccd3517
  97050a69_2c4b_4c20_ca72_89be3ec705bd["search.ts"]
  e11ff698_0507_c6bc_62af_f84a56089cf7 --> 97050a69_2c4b_4c20_ca72_89be3ec705bd
  52d1915f_aae4_92b3_79b0_94994822dd9e["buildRegistryItemNameFromRegistry"]
  e11ff698_0507_c6bc_62af_f84a56089cf7 --> 52d1915f_aae4_92b3_79b0_94994822dd9e
  e6f35579_6ae8_ff1e_5451_66a5bfd635b0["searchRegistries"]
  e11ff698_0507_c6bc_62af_f84a56089cf7 --> e6f35579_6ae8_ff1e_5451_66a5bfd635b0
  c8d55bee_7008_1e1f_317b_8dc47b31b6a8["vitest"]
  e11ff698_0507_c6bc_62af_f84a56089cf7 --> c8d55bee_7008_1e1f_317b_8dc47b31b6a8
  style e11ff698_0507_c6bc_62af_f84a56089cf7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { describe, expect, it, vi } from "vitest"

import { getRegistry } from "./api"
import { buildRegistryItemNameFromRegistry, searchRegistries } from "./search"

describe("searchRegistries", () => {
  it("should fetch and return registries in flat format", async () => {
    // Mock getRegistry
    vi.mock("./api", () => ({
      getRegistry: vi.fn(),
    }))

    const mockGetRegistry = vi.mocked(getRegistry)

    mockGetRegistry.mockImplementation(async (name: string) => {
      if (name === "@shadcn" || name === "@shadcn/registry") {
        return {
          name: "shadcn/ui",
          homepage: "https://ui.shadcn.com",
          items: [
            {
              name: "button",
              type: "registry:ui",
              description: "A button component",
            },
            {
              name: "card",
              type: "registry:ui",
              description: "A card component",
            },
          ],
        }
      }
      if (name === "@custom" || name === "@custom/registry") {
        return {
          name: "custom/components",
          homepage: "https://custom.com",
          items: [
            {
              name: "header",
              type: "registry:component",
              description: "A header component",
            },
          ],
        }
      }
      throw new Error(`Unknown registry: ${name}`)
    })

    const results = await searchRegistries(["@shadcn", "@custom"])

    expect(results).toEqual({
      items: [
        {
          name: "button",
          type: "registry:ui",
          description: "A button component",
          registry: "@shadcn",
          addCommandArgument: "@shadcn/button",
        },
// ... (596 more lines)

Frequently Asked Questions

What does search.test.ts do?
search.test.ts is a source file in the ui codebase, written in typescript. It belongs to the FrameworkTooling domain.
What does search.test.ts depend on?
search.test.ts imports 6 module(s): api.ts, buildRegistryItemNameFromRegistry, getRegistry, search.ts, searchRegistries, vitest.
Where is search.test.ts in the architecture?
search.test.ts is located at packages/shadcn/src/registry/search.test.ts (domain: FrameworkTooling, directory: packages/shadcn/src/registry).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free