diff --git a/pkg/cmd/gist/shared/shared_test.go b/pkg/cmd/gist/shared/shared_test.go new file mode 100644 index 000000000..0f80db690 --- /dev/null +++ b/pkg/cmd/gist/shared/shared_test.go @@ -0,0 +1,52 @@ +package shared + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func Test_GetGistIDFromURL(t *testing.T) { + tests := []struct { + name string + url string + want string + wantErr bool + }{ + { + name: "url", + url: "https://gist.github.com/1234", + want: "1234", + }, + { + name: "url with username", + url: "https://gist.github.com/octocat/1234", + want: "1234", + }, + { + name: "url, specific file", + url: "https://gist.github.com/1234#file-test-md", + want: "1234", + }, + { + name: "invalid url", + url: "https://gist.github.com", + wantErr: true, + want: "Invalid gist URL https://gist.github.com", + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + id, err := GistIDFromURL(tt.url) + if tt.wantErr { + assert.Error(t, err) + assert.EqualError(t, err, tt.want) + return + } + assert.NoError(t, err) + + assert.Equal(t, tt.want, id) + }) + } +} diff --git a/pkg/cmd/gist/view/view_test.go b/pkg/cmd/gist/view/view_test.go index 185a2b979..0ddf55f49 100644 --- a/pkg/cmd/gist/view/view_test.go +++ b/pkg/cmd/gist/view/view_test.go @@ -83,12 +83,11 @@ func TestNewCmdView(t *testing.T) { func Test_viewRun(t *testing.T) { tests := []struct { - name string - opts *ViewOptions - wantOut string - wantStderr string - gist *shared.Gist - wantErr bool + name string + opts *ViewOptions + wantOut string + gist *shared.Gist + wantErr bool }{ { name: "no such gist", @@ -192,22 +191,6 @@ func Test_viewRun(t *testing.T) { }, wantOut: "some files\ncicada.txt\n\nbwhiizzzbwhuiiizzzz\n\nfoo.md\n\n- foo\n\n", }, - { - name: "url", - opts: &ViewOptions{ - Selector: "https://gist.github.com/octocat/1234", - }, - wantErr: true, - wantStderr: "HTTP 404 (https://api.github.com/gists/1234)", - }, - { - name: "invalid url", - opts: &ViewOptions{ - Selector: "https://gist.github.com/octocat", - }, - wantErr: true, - wantStderr: "Invalid gist URL https://gist.github.com/octocat", - }, } for _, tt := range tests { @@ -235,9 +218,6 @@ func Test_viewRun(t *testing.T) { err := viewRun(tt.opts) if tt.wantErr { assert.Error(t, err) - if tt.wantStderr != "" { - assert.EqualError(t, err, tt.wantStderr) - } return } assert.NoError(t, err)