Add methods to sticky/pin posts

Signed-off-by: Vartan Benohanian <vartanbeno@gmail.com>
This commit is contained in:
Vartan Benohanian
2020-07-15 22:28:52 -04:00
parent b78a52eac8
commit 6b99e3957a
2 changed files with 189 additions and 8 deletions
+99 -8
View File
@@ -62,14 +62,14 @@ func TestPostService_MarkNSFW(t *testing.T) {
assert.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
form.Set("id", "t3_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
})
res, err := client.Post.MarkNSFW(ctx, "t1_test")
res, err := client.Post.MarkNSFW(ctx, "t3_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
}
@@ -82,14 +82,14 @@ func TestPostService_UnmarkNSFW(t *testing.T) {
assert.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
form.Set("id", "t3_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
})
res, err := client.Post.UnmarkNSFW(ctx, "t1_test")
res, err := client.Post.UnmarkNSFW(ctx, "t3_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
}
@@ -102,14 +102,14 @@ func TestPostService_Spoiler(t *testing.T) {
assert.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
form.Set("id", "t3_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
})
res, err := client.Post.Spoiler(ctx, "t1_test")
res, err := client.Post.Spoiler(ctx, "t3_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
}
@@ -122,14 +122,105 @@ func TestPostService_Unspoiler(t *testing.T) {
assert.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("id", "t1_test")
form.Set("id", "t3_test")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
})
res, err := client.Post.Unspoiler(ctx, "t1_test")
res, err := client.Post.Unspoiler(ctx, "t3_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
}
func TestPostService_Sticky(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/api/set_subreddit_sticky", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("api_type", "json")
form.Set("id", "t3_test")
form.Set("state", "true")
form.Set("num", "1")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
})
res, err := client.Post.Sticky(ctx, "t3_test", false)
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
}
func TestPostService_Unsticky(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/api/set_subreddit_sticky", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("api_type", "json")
form.Set("id", "t3_test")
form.Set("state", "false")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
})
res, err := client.Post.Unsticky(ctx, "t3_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
}
func TestPostService_PinToProfile(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/api/set_subreddit_sticky", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("api_type", "json")
form.Set("id", "t3_test")
form.Set("state", "true")
form.Set("to_profile", "true")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
})
res, err := client.Post.PinToProfile(ctx, "t3_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
}
func TestPostService_UnpinFromProfile(t *testing.T) {
setup()
defer teardown()
mux.HandleFunc("/api/set_subreddit_sticky", func(w http.ResponseWriter, r *http.Request) {
assert.Equal(t, http.MethodPost, r.Method)
form := url.Values{}
form.Set("api_type", "json")
form.Set("id", "t3_test")
form.Set("state", "false")
form.Set("to_profile", "true")
err := r.ParseForm()
assert.NoError(t, err)
assert.Equal(t, form, r.PostForm)
})
res, err := client.Post.UnpinFromProfile(ctx, "t3_test")
assert.NoError(t, err)
assert.Equal(t, http.StatusOK, res.StatusCode)
}