package server

import "testing"

func TestParseWikiReindexArgsRequiresExplicitTenantSelection(t *testing.T) {
	for _, args := range [][]string{
		nil,
		{},
		{"tenant-a"},
		{"--tenant"},
		{"--all-tenants", "owner/repo"},
	} {
		if _, err := parseWikiReindexArgs(args); err == nil {
			t.Fatalf("parseWikiReindexArgs(%q) unexpectedly succeeded", args)
		}
	}

	one, err := parseWikiReindexArgs([]string{"--tenant", "tenant-a", "owner/repo"})
	if err != nil {
		t.Fatalf("single tenant args: %v", err)
	}
	if one.tenantID != "tenant-a" || one.repo != "owner/repo" || one.all {
		t.Fatalf("single tenant selection = %#v", one)
	}

	all, err := parseWikiReindexArgs([]string{"--all-tenants"})
	if err != nil {
		t.Fatalf("all tenant args: %v", err)
	}
	if !all.all || all.tenantID != "" || all.repo != "" {
		t.Fatalf("all tenant selection = %#v", all)
	}
}
