snoobert/link_test.go

82 lines
2.1 KiB
Go
Raw Normal View History

package geddit
import (
"fmt"
"net/http"
"net/url"
"reflect"
"testing"
)
func TestLinkServiceOp_Hide(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/api/hide", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, http.MethodPost)
form := url.Values{}
form.Set("id", "1,2,3")
_ = r.ParseForm()
if expect, actual := form, r.PostForm; !reflect.DeepEqual(expect, actual) {
t.Fatalf("got unexpected value\nexpect: %s\nactual: %s", Stringify(expect), Stringify(actual))
}
fmt.Fprint(w, `{}`)
})
_, err := client.Link.Hide(ctx)
if err == nil {
t.Fatal("expected error, got nothing instead")
}
if expect, actual := `must provide at least 1 id`, err.Error(); expect != actual {
t.Fatalf("got unexpected value\nexpect: %s\nactual: %s", Stringify(expect), Stringify(actual))
}
res, err := client.Link.Hide(ctx, "1", "2", "3")
if err != nil {
t.Fatalf("got unexpected error: %v", err)
}
if expect, actual := http.StatusOK, res.StatusCode; expect != actual {
t.Fatalf("got unexpected value\nexpect: %s\nactual: %s", Stringify(expect), Stringify(actual))
}
}
func TestLinkServiceOp_Unhide(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/api/unhide", func(w http.ResponseWriter, r *http.Request) {
testMethod(t, r, http.MethodPost)
form := url.Values{}
form.Set("id", "1,2,3")
_ = r.ParseForm()
if expect, actual := form, r.PostForm; !reflect.DeepEqual(expect, actual) {
t.Fatalf("got unexpected value\nexpect: %s\nactual: %s", Stringify(expect), Stringify(actual))
}
fmt.Fprint(w, `{}`)
})
_, err := client.Link.Unhide(ctx)
if err == nil {
t.Fatal("expected error, got nothing instead")
}
if expect, actual := `must provide at least 1 id`, err.Error(); expect != actual {
t.Fatalf("got unexpected value\nexpect: %s\nactual: %s", Stringify(expect), Stringify(actual))
}
res, err := client.Link.Unhide(ctx, "1", "2", "3")
if err != nil {
t.Fatalf("got unexpected error: %v", err)
}
if expect, actual := http.StatusOK, res.StatusCode; expect != actual {
t.Fatalf("got unexpected value\nexpect: %s\nactual: %s", Stringify(expect), Stringify(actual))
}
}