(t *testing.T)
| 586 | } |
| 587 | |
| 588 | func TestInstallItem(t *testing.T) { |
| 589 | ctx := context.Background() |
| 590 | dir := t.TempDir() |
| 591 | t.Setenv("HOME", dir) |
| 592 | |
| 593 | s := NewStore(filepath.Join(dir, "cam.db")) |
| 594 | svc := NewService(s) |
| 595 | |
| 596 | s.Init(ctx) |
| 597 | s.UpsertItem(ctx, Item{ |
| 598 | Kind: "skill", |
| 599 | Name: "test-install-skill", |
| 600 | InstallKey: "test/repo:test-install-skill", |
| 601 | RepoOwner: "test", |
| 602 | RepoName: "repo", |
| 603 | RepoBranch: "main", |
| 604 | ItemPath: "skills", |
| 605 | TargetApps: "claude", |
| 606 | }) |
| 607 | |
| 608 | err := svc.Install(ctx, "skill", "test/repo:test-install-skill", "claude") |
| 609 | if err != nil { |
| 610 | t.Fatalf("Install: %v", err) |
| 611 | } |
| 612 | |
| 613 | item, _ := s.GetItem(ctx, "skill", "test/repo:test-install-skill") |
| 614 | if !item.Installed { |
| 615 | t.Fatal("expected installed=true after Install") |
| 616 | } |
| 617 | } |
nothing calls this directly
no test coverage detected