Block and unblock by id
Signed-off-by: Vartan Benohanian <vartanbeno@gmail.com>
This commit is contained in:
parent
011cd2a78b
commit
fbf7df5fe9
3 changed files with 75 additions and 75 deletions
10
reddit.go
10
reddit.go
|
@ -286,18 +286,18 @@ func (c *Client) Do(ctx context.Context, req *http.Request, v interface{}) (*Res
|
||||||
}
|
}
|
||||||
|
|
||||||
// id returns the client's Reddit ID.
|
// id returns the client's Reddit ID.
|
||||||
func (c *Client) id(ctx context.Context) (string, error) {
|
func (c *Client) id(ctx context.Context) (string, *Response, error) {
|
||||||
if c.redditID != "" {
|
if c.redditID != "" {
|
||||||
return c.redditID, nil
|
return c.redditID, nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
self, _, err := c.User.Get(ctx, c.Username)
|
self, resp, err := c.User.Get(ctx, c.Username)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", resp, err
|
||||||
}
|
}
|
||||||
|
|
||||||
c.redditID = fmt.Sprintf("%s_%s", kindAccount, self.ID)
|
c.redditID = fmt.Sprintf("%s_%s", kindAccount, self.ID)
|
||||||
return c.redditID, nil
|
return c.redditID, resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoRequest submits an HTTP request.
|
// DoRequest submits an HTTP request.
|
||||||
|
|
70
user.go
70
user.go
|
@ -421,32 +421,32 @@ func (s *UserService) Block(ctx context.Context, username string) (*Blocked, *Re
|
||||||
return root, resp, nil
|
return root, resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// // BlockByID blocks a user via their full id.
|
// BlockByID blocks a user via their full id.
|
||||||
// func (s *UserService) BlockByID(ctx context.Context, id string) (*Blocked, *Response, error) {
|
func (s *UserService) BlockByID(ctx context.Context, id string) (*Blocked, *Response, error) {
|
||||||
// path := "api/block_user"
|
path := "api/block_user"
|
||||||
|
|
||||||
// form := url.Values{}
|
form := url.Values{}
|
||||||
// form.Set("account_id", id)
|
form.Set("account_id", id)
|
||||||
|
|
||||||
// req, err := s.client.NewPostForm(path, form)
|
req, err := s.client.NewRequestWithForm(http.MethodPost, path, form)
|
||||||
// if err != nil {
|
if err != nil {
|
||||||
// return nil, nil, err
|
return nil, nil, err
|
||||||
// }
|
}
|
||||||
|
|
||||||
// root := new(Blocked)
|
root := new(Blocked)
|
||||||
// resp, err := s.client.Do(ctx, req, root)
|
resp, err := s.client.Do(ctx, req, root)
|
||||||
// if err != nil {
|
if err != nil {
|
||||||
// return nil, resp, err
|
return nil, resp, err
|
||||||
// }
|
}
|
||||||
|
|
||||||
// return root, resp, nil
|
return root, resp, nil
|
||||||
// }
|
}
|
||||||
|
|
||||||
// Unblock unblocks a user.
|
// Unblock unblocks a user.
|
||||||
func (s *UserService) Unblock(ctx context.Context, username string) (*Response, error) {
|
func (s *UserService) Unblock(ctx context.Context, username string) (*Response, error) {
|
||||||
selfID, err := s.client.id(ctx)
|
selfID, resp, err := s.client.id(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return resp, err
|
||||||
}
|
}
|
||||||
|
|
||||||
path := "api/unfriend"
|
path := "api/unfriend"
|
||||||
|
@ -464,27 +464,27 @@ func (s *UserService) Unblock(ctx context.Context, username string) (*Response,
|
||||||
return s.client.Do(ctx, req, nil)
|
return s.client.Do(ctx, req, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
// // UnblockByID unblocks a user via their full id.
|
// UnblockByID unblocks a user via their full id.
|
||||||
// func (s *UserService) UnblockByID(ctx context.Context, id string) (*Response, error) {
|
func (s *UserService) UnblockByID(ctx context.Context, id string) (*Response, error) {
|
||||||
// selfID, err := s.client.GetRedditID(ctx)
|
selfID, resp, err := s.client.id(ctx)
|
||||||
// if err != nil {
|
if err != nil {
|
||||||
// return nil, err
|
return resp, err
|
||||||
// }
|
}
|
||||||
|
|
||||||
// path := "api/unfriend"
|
path := "api/unfriend"
|
||||||
|
|
||||||
// form := url.Values{}
|
form := url.Values{}
|
||||||
// form.Set("id", id)
|
form.Set("id", id)
|
||||||
// form.Set("type", "enemy")
|
form.Set("type", "enemy")
|
||||||
// form.Set("container", selfID)
|
form.Set("container", selfID)
|
||||||
|
|
||||||
// req, err := s.client.NewPostForm(path, form)
|
req, err := s.client.NewRequestWithForm(http.MethodPost, path, form)
|
||||||
// if err != nil {
|
if err != nil {
|
||||||
// return nil, err
|
return nil, err
|
||||||
// }
|
}
|
||||||
|
|
||||||
// return s.client.Do(ctx, req, nil)
|
return s.client.Do(ctx, req, nil)
|
||||||
// }
|
}
|
||||||
|
|
||||||
// Trophies returns a list of your trophies.
|
// Trophies returns a list of your trophies.
|
||||||
func (s *UserService) Trophies(ctx context.Context) ([]Trophy, *Response, error) {
|
func (s *UserService) Trophies(ctx context.Context) ([]Trophy, *Response, error) {
|
||||||
|
|
70
user_test.go
70
user_test.go
|
@ -813,30 +813,30 @@ func TestUserService_Block(t *testing.T) {
|
||||||
require.Equal(t, expectedBlocked, blocked)
|
require.Equal(t, expectedBlocked, blocked)
|
||||||
}
|
}
|
||||||
|
|
||||||
// func TestUserService_BlockByID(t *testing.T) {
|
func TestUserService_BlockByID(t *testing.T) {
|
||||||
// setup()
|
setup()
|
||||||
// defer teardown()
|
defer teardown()
|
||||||
|
|
||||||
// blob, err := readFileContents("testdata/user/block.json")
|
blob, err := readFileContents("testdata/user/block.json")
|
||||||
// require.NoError(t,err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// mux.HandleFunc("/api/block_user", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/block_user", func(w http.ResponseWriter, r *http.Request) {
|
||||||
// require.Equal(t, http.MethodPost, r.Method)
|
require.Equal(t, http.MethodPost, r.Method)
|
||||||
|
|
||||||
// form := url.Values{}
|
form := url.Values{}
|
||||||
// form.Set("account_id", "abc123")
|
form.Set("account_id", "abc123")
|
||||||
|
|
||||||
// err := r.ParseForm()
|
err := r.ParseForm()
|
||||||
// require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// require.Equal(t, form, r.Form)
|
require.Equal(t, form, r.Form)
|
||||||
|
|
||||||
// fmt.Fprint(w, blob)
|
fmt.Fprint(w, blob)
|
||||||
// })
|
})
|
||||||
|
|
||||||
// blocked, _, err := client.User.BlockByID(ctx, "abc123")
|
blocked, _, err := client.User.BlockByID(ctx, "abc123")
|
||||||
// require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// require.Equal(t, expectedBlocked, blocked)
|
require.Equal(t, expectedBlocked, blocked)
|
||||||
// }
|
}
|
||||||
|
|
||||||
func TestUserService_Unblock(t *testing.T) {
|
func TestUserService_Unblock(t *testing.T) {
|
||||||
setup()
|
setup()
|
||||||
|
@ -861,28 +861,28 @@ func TestUserService_Unblock(t *testing.T) {
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
// func TestUserService_UnblockByID(t *testing.T) {
|
func TestUserService_UnblockByID(t *testing.T) {
|
||||||
// setup()
|
setup()
|
||||||
// defer teardown()
|
defer teardown()
|
||||||
|
|
||||||
// client.redditID = "self123"
|
client.redditID = "self123"
|
||||||
|
|
||||||
// mux.HandleFunc("/api/unfriend", func(w http.ResponseWriter, r *http.Request) {
|
mux.HandleFunc("/api/unfriend", func(w http.ResponseWriter, r *http.Request) {
|
||||||
// require.Equal(t, http.MethodPost, r.Method)
|
require.Equal(t, http.MethodPost, r.Method)
|
||||||
|
|
||||||
// form := url.Values{}
|
form := url.Values{}
|
||||||
// form.Set("id", "abc123")
|
form.Set("id", "abc123")
|
||||||
// form.Set("type", "enemy")
|
form.Set("type", "enemy")
|
||||||
// form.Set("container", client.redditID)
|
form.Set("container", client.redditID)
|
||||||
|
|
||||||
// err := r.ParseForm()
|
err := r.ParseForm()
|
||||||
// require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// require.Equal(t, form, r.Form)
|
require.Equal(t, form, r.Form)
|
||||||
// })
|
})
|
||||||
|
|
||||||
// _, err := client.User.UnblockByID(ctx, "abc123")
|
_, err := client.User.UnblockByID(ctx, "abc123")
|
||||||
// require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
// }
|
}
|
||||||
|
|
||||||
func TestUserService_Trophies(t *testing.T) {
|
func TestUserService_Trophies(t *testing.T) {
|
||||||
setup()
|
setup()
|
||||||
|
|
Loading…
Reference in a new issue