github.com/gigforks/mattermost-server@v4.9.1-0.20180619094218-800d97fa55d0+incompatible/app/command_test.go (about) 1 // Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package app 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 11 "github.com/mattermost/mattermost-server/model" 12 ) 13 14 func TestMoveCommand(t *testing.T) { 15 th := Setup().InitBasic() 16 defer th.TearDown() 17 18 sourceTeam := th.CreateTeam() 19 targetTeam := th.CreateTeam() 20 21 command := &model.Command{} 22 command.CreatorId = model.NewId() 23 command.Method = model.COMMAND_METHOD_POST 24 command.TeamId = sourceTeam.Id 25 command.URL = "http://nowhere.com/" 26 command.Trigger = "trigger1" 27 28 command, err := th.App.CreateCommand(command) 29 assert.Nil(t, err) 30 31 defer func() { 32 th.App.PermanentDeleteTeam(sourceTeam) 33 th.App.PermanentDeleteTeam(targetTeam) 34 }() 35 36 // Move a command and check the team is updated. 37 assert.Nil(t, th.App.MoveCommand(targetTeam, command)) 38 retrievedCommand, err := th.App.GetCommand(command.Id) 39 assert.Nil(t, err) 40 assert.EqualValues(t, targetTeam.Id, retrievedCommand.TeamId) 41 42 // Move it to the team it's already in. Nothing should change. 43 assert.Nil(t, th.App.MoveCommand(targetTeam, command)) 44 retrievedCommand, err = th.App.GetCommand(command.Id) 45 assert.Nil(t, err) 46 assert.EqualValues(t, targetTeam.Id, retrievedCommand.TeamId) 47 } 48 49 func TestCreateCommandPost(t *testing.T) { 50 th := Setup().InitBasic() 51 defer th.TearDown() 52 53 post := &model.Post{ 54 ChannelId: th.BasicChannel.Id, 55 UserId: th.BasicUser.Id, 56 Type: model.POST_SYSTEM_GENERIC, 57 } 58 59 resp := &model.CommandResponse{ 60 Text: "some message", 61 } 62 63 _, err := th.App.CreateCommandPost(post, th.BasicTeam.Id, resp) 64 if err == nil && err.Id != "api.context.invalid_param.app_error" { 65 t.Fatal("should have failed - bad post type") 66 } 67 }