test AddReaction
Ryan Carver
8 years ago
49 | 49 |
}
|
50 | 50 |
|
51 | 51 |
// AddReaction adds a reaction emoji to a message, file or file comment.
|
|
52 |
// One of file, file_comment, or the combination of channel and timestamp
|
|
53 |
// must be specified.
|
52 | 54 |
func (api *Slack) AddReaction(params ReactionParameters) error {
|
53 | 55 |
values := url.Values{
|
54 | 56 |
"token": {api.config.token},
|
|
60 | 62 |
values.Set("file", string(params.File))
|
61 | 63 |
}
|
62 | 64 |
if params.FileComment != DEFAULT_REACTION_FILE_COMMENT {
|
63 | |
values.Set("file", string(params.FileComment))
|
|
65 |
values.Set("file_comment", string(params.FileComment))
|
64 | 66 |
}
|
65 | 67 |
if params.Channel != DEFAULT_REACTION_CHANNEL {
|
66 | 68 |
values.Set("channel", string(params.Channel))
|
|
0 |
package slack
|
|
1 |
|
|
2 |
import (
|
|
3 |
"net/http"
|
|
4 |
"reflect"
|
|
5 |
"testing"
|
|
6 |
)
|
|
7 |
|
|
8 |
var (
|
|
9 |
addedReaction ReactionParameters
|
|
10 |
)
|
|
11 |
|
|
12 |
func addReactionHandler(w http.ResponseWriter, r *http.Request) {
|
|
13 |
w.Header().Set("Content-Type", "application/json")
|
|
14 |
addedReaction.Name = r.FormValue("name")
|
|
15 |
addedReaction.File = r.FormValue("file")
|
|
16 |
addedReaction.FileComment = r.FormValue("file_comment")
|
|
17 |
addedReaction.Channel = r.FormValue("channel")
|
|
18 |
addedReaction.Timestamp = r.FormValue("timestamp")
|
|
19 |
w.Write([]byte(`{ "ok": true }`))
|
|
20 |
}
|
|
21 |
|
|
22 |
func TestSlack_AddReaction(t *testing.T) {
|
|
23 |
http.HandleFunc("/reactions.add", addReactionHandler)
|
|
24 |
once.Do(startServer)
|
|
25 |
SLACK_API = "http://" + serverAddr + "/"
|
|
26 |
api := New("testing-token")
|
|
27 |
params := NewReactionParameters()
|
|
28 |
params.Name = "thumbsup"
|
|
29 |
params.File = "FileID"
|
|
30 |
params.FileComment = "FileCommentID"
|
|
31 |
params.Channel = "ChannelID"
|
|
32 |
params.Timestamp = "123"
|
|
33 |
addedReaction = ReactionParameters{}
|
|
34 |
err := api.AddReaction(params)
|
|
35 |
if err != nil {
|
|
36 |
t.Fatalf("Unexpected error: %s", err)
|
|
37 |
}
|
|
38 |
if !reflect.DeepEqual(params, addedReaction) {
|
|
39 |
t.Fatalf("Got reaction %#v, want %#v", addedReaction, params)
|
|
40 |
}
|
|
41 |
}
|