package cli import ( "testing" "iop/packages/config" ) func TestCodexExecArgs_NoSessionUsesProfileArgs(t *testing.T) { profile := config.CLIProfileConf{ Command: "codex", Args: []string{"exec", "--json"}, } args := codexExecArgs(profile, "", "hello prompt") expected := []string{"exec", "--json", "hello prompt"} if len(args) != len(expected) { t.Fatalf("expected %d args, got %d: %v", len(expected), len(args), args) } for i, v := range expected { if args[i] != v { t.Errorf("args[%d]: expected %q, got %q", i, v, args[i]) } } } func TestCodexExecArgs_WithSessionUsesResumeArgs(t *testing.T) { profile := config.CLIProfileConf{ Args: []string{"exec", "--json"}, ResumeArgs: []string{"exec", "resume", "--color", "never"}, } args := codexExecArgs(profile, "session-abc", "hello prompt") expected := []string{"exec", "resume", "--color", "never", "session-abc", "hello prompt"} if len(args) != len(expected) { t.Fatalf("expected %d args, got %d: %v", len(expected), len(args), args) } for i, v := range expected { if args[i] != v { t.Errorf("args[%d]: expected %q, got %q", i, v, args[i]) } } }