cli/command/gist_test.go
2020-05-15 16:47:11 -05:00

44 lines
930 B
Go

package command
import (
"bytes"
"encoding/json"
"io/ioutil"
"testing"
"github.com/cli/cli/context"
)
func TestGistCreate(t *testing.T) {
ctx := context.NewBlank()
initContext = func() context.Context {
return ctx
}
http := initFakeHTTP()
http.StubResponse(200, bytes.NewBufferString(`
{
"html_url": "https://gist.github.com/aa5a315d61ae9438b18d"
}
`))
output, err := RunCommand(`gist create -f "../test/fixtures/gistCreate.json" -d "Gist description" -p=false`)
eq(t, err, nil)
bodyBytes, _ := ioutil.ReadAll(http.Requests[0].Body)
reqBody := struct {
Description string
Public bool
Files map[string]struct {
Content string
}
}{}
json.Unmarshal(bodyBytes, &reqBody)
eq(t, reqBody.Description, "Gist description")
eq(t, reqBody.Public, false)
eq(t, reqBody.Files["gistCreate.json"].Content, "{}")
eq(t, output.String(), "https://gist.github.com/aa5a315d61ae9438b18d\n")
}