package pages
import (
"bytes"
"io"
"log/slog"
"strings"
"testing"
"tangled.org/core/appview/config"
"tangled.org/core/appview/oauth"
"tangled.org/core/appview/pages/repoinfo"
"tangled.org/core/idresolver"
)
// the spindle picker is free text with a datalist of recently used spindles, and
// is shared by repo-new, repo-fork and repo-settings/pipelines. Rendering catches
// what parsing can't: a mistyped fragment name or dict key only fails on execute.
func TestSpindleInputRenders(t *testing.T) {
cfg := &config.Config{}
p := NewPages(cfg, idresolver.DefaultResolver("https://plc.test"), nil, nil, slog.New(slog.NewTextHandler(io.Discard, nil)))
cases := []struct {
name string
stack []string
define string
params any
want []string
}{
{
name: "repo/new",
stack: []string{"repo/new"},
define: "spindle",
params: NewRepoParams{Spindles: []string{"spindle.example.com"}},
want: []string{`list="spindle-options"`, `