package service import ( "testing" "github.com/orchard9/rdev/internal/domain" ) func TestAssignComponentPath(t *testing.T) { tests := []struct { name string component *domain.Component expectedPath string }{ { name: "service gets /api/{name}", component: &domain.Component{ Type: domain.ComponentTypeService, Name: "auth", }, expectedPath: "/api/auth", }, { name: "service with different name", component: &domain.Component{ Type: domain.ComponentTypeService, Name: "users", }, expectedPath: "/api/users", }, { name: "app-react gets /", component: &domain.Component{ Type: domain.ComponentTypeAppReact, Name: "web", }, expectedPath: "/", }, { name: "app-astro gets /", component: &domain.Component{ Type: domain.ComponentTypeAppAstro, Name: "landing", }, expectedPath: "/", }, { name: "app-nextjs gets /", component: &domain.Component{ Type: domain.ComponentTypeAppNextJS, Name: "dashboard", }, expectedPath: "/", }, { name: "worker gets empty path", component: &domain.Component{ Type: domain.ComponentTypeWorker, Name: "processor", }, expectedPath: "", }, { name: "cli gets empty path", component: &domain.Component{ Type: domain.ComponentTypeCLI, Name: "tool", }, expectedPath: "", }, } for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { result := assignComponentPath(tc.component) if result != tc.expectedPath { t.Errorf("assignComponentPath(%s %s) = %q, want %q", tc.component.Type, tc.component.Name, result, tc.expectedPath) } }) } }