created more tests, and removed repoFlag

This commit is contained in:
bchadwic 2021-06-13 21:05:50 -07:00
parent d3efc5dcbd
commit 9c7a788193
2 changed files with 14 additions and 19 deletions

View file

@ -28,7 +28,6 @@ type BrowseOptions struct {
Branch string
ProjectsFlag bool
RepoFlag bool
SettingsFlag bool
WikiFlag bool
}
@ -79,22 +78,22 @@ func NewCmdBrowse(f *cmdutil.Factory, runF func(*BrowseOptions) error) *cobra.Co
opts.SelectorArg = args[0]
}
if err := cmdutil.MutuallyExclusive("", opts.ProjectsFlag, opts.SettingsFlag); err != nil {
if err := cmdutil.MutuallyExclusive("cannot use --projects with --settings", opts.ProjectsFlag, opts.SettingsFlag); err != nil {
return err
}
if err := cmdutil.MutuallyExclusive("", opts.ProjectsFlag, opts.WikiFlag); err != nil {
if err := cmdutil.MutuallyExclusive("cannot use --projects with --wiki", opts.ProjectsFlag, opts.WikiFlag); err != nil {
return err
}
if err := cmdutil.MutuallyExclusive("", opts.ProjectsFlag, opts.Branch != ""); err != nil {
if err := cmdutil.MutuallyExclusive("cannot use --projects with --branch", opts.ProjectsFlag, opts.Branch != ""); err != nil {
return err
}
if err := cmdutil.MutuallyExclusive("", opts.SettingsFlag, opts.WikiFlag); err != nil {
if err := cmdutil.MutuallyExclusive("cannot use --settings with --wiki", opts.SettingsFlag, opts.WikiFlag); err != nil {
return err
}
if err := cmdutil.MutuallyExclusive("", opts.SettingsFlag, opts.Branch != ""); err != nil {
if err := cmdutil.MutuallyExclusive("cannot use --settings with --branch", opts.SettingsFlag, opts.Branch != ""); err != nil {
return err
}
if err := cmdutil.MutuallyExclusive("", opts.WikiFlag, opts.Branch != ""); err != nil {
if err := cmdutil.MutuallyExclusive("cannot use --wiki with --branch", opts.WikiFlag, opts.Branch != ""); err != nil {
return err
}
@ -129,20 +128,17 @@ func runBrowse(opts *BrowseOptions) error {
url := ghrepo.GenerateRepoURL(baseRepo, "")
if opts.ProjectsFlag {
url += "/projects"
err := opts.Browser.Browse(url)
err := opts.Browser.Browse(url + "/projects")
return err
}
if opts.SettingsFlag {
url += "/settings"
err := opts.Browser.Browse(url)
err := opts.Browser.Browse(url + "/settings")
return err
}
if opts.WikiFlag {
url += "/wiki"
err := opts.Browser.Browse(url)
err := opts.Browser.Browse(url + "/wiki")
return err
}
@ -177,7 +173,7 @@ func runBrowse(opts *BrowseOptions) error {
err = opts.Browser.Browse(url)
if opts.IO.IsStdoutTTY() && err == nil {
fmt.Fprintf(opts.IO.Out, "now opening %s in browser . . .\n", url)
fmt.Fprintf(opts.IO.Out, "now opening %s in browser\n", url)
}
return err
}

View file

@ -89,16 +89,15 @@ func TestNewCmdBrowse(t *testing.T) {
wantsErr: false,
},
{
name: "no arguments",
cli: "",
wantsErr: false,
name: "passed two arguments",
cli: "main.go main.go",
wantsErr: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
f := cmdutil.Factory{}
var opts *BrowseOptions
// pass a stub implementation of `runBrowse` for testing to avoid having real `runBrowse` called
cmd := NewCmdBrowse(&f, func(o *BrowseOptions) error {
opts = o
return nil
@ -191,7 +190,7 @@ func Test_runBrowse(t *testing.T) {
expectedURL: "https://github.com/bchadwic/cli/issues/217",
},
{
name: "file with line argument",
name: "file with line number",
opts: BrowseOptions{
SelectorArg: "path/to/file.txt:32",
},