diff options
Diffstat (limited to 'api')
-rw-r--r-- | api/command_shortcuts.go | 37 | ||||
-rw-r--r-- | api/command_shortcuts_test.go | 21 |
2 files changed, 58 insertions, 0 deletions
diff --git a/api/command_shortcuts.go b/api/command_shortcuts.go new file mode 100644 index 000000000..77f9f4441 --- /dev/null +++ b/api/command_shortcuts.go @@ -0,0 +1,37 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package api + +import ( + "github.com/mattermost/platform/model" +) + +type ShortcutsProvider struct { +} + +const ( + CMD_SHORTCUTS = "shortcuts" +) + +func init() { + RegisterCommandProvider(&ShortcutsProvider{}) +} + +func (me *ShortcutsProvider) GetTrigger() string { + return CMD_SHORTCUTS +} + +func (me *ShortcutsProvider) GetCommand(c *Context) *model.Command { + return &model.Command{ + Trigger: CMD_SHORTCUTS, + AutoComplete: true, + AutoCompleteDesc: c.T("api.command_shortcuts.desc"), + AutoCompleteHint: "", + DisplayName: c.T("api.command_shortcuts.name"), + } +} + +func (me *ShortcutsProvider) DoCommand(c *Context, channelId string, message string) *model.CommandResponse { + return &model.CommandResponse{ResponseType: model.COMMAND_RESPONSE_TYPE_EPHEMERAL, Text: c.T("api.command_shortcuts.list")} +} diff --git a/api/command_shortcuts_test.go b/api/command_shortcuts_test.go new file mode 100644 index 000000000..a00bd3440 --- /dev/null +++ b/api/command_shortcuts_test.go @@ -0,0 +1,21 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package api + +import ( + "github.com/mattermost/platform/model" + "strings" + "testing" +) + +func TestShortcutsCommand(t *testing.T) { + th := Setup().InitBasic() + Client := th.BasicClient + channel := th.BasicChannel + + rs := Client.Must(Client.Command(channel.Id, "/shortcuts ", false)).Data.(*model.CommandResponse) + if !strings.Contains(rs.Text, "ALT") { + t.Fatal("failed to display shortcuts") + } +} |