diff options
Diffstat (limited to 'app/channel_test.go')
-rw-r--r-- | app/channel_test.go | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/app/channel_test.go b/app/channel_test.go index 438eb959b..b43207b00 100644 --- a/app/channel_test.go +++ b/app/channel_test.go @@ -64,3 +64,46 @@ func TestPermanentDeleteChannel(t *testing.T) { t.Error("outgoing webhook wasn't deleted") } } + +func TestMoveChannel(t *testing.T) { + th := Setup().InitBasic() + + sourceTeam := th.CreateTeam() + targetTeam := th.CreateTeam() + channel1 := th.CreateChannel(sourceTeam) + defer func() { + PermanentDeleteChannel(channel1) + PermanentDeleteTeam(sourceTeam) + PermanentDeleteTeam(targetTeam) + }() + + if _, err := AddUserToTeam(sourceTeam.Id, th.BasicUser.Id, ""); err != nil { + t.Fatal(err) + } + if _, err := AddUserToTeam(sourceTeam.Id, th.BasicUser2.Id, ""); err != nil { + t.Fatal(err) + } + + if _, err := AddUserToTeam(targetTeam.Id, th.BasicUser.Id, ""); err != nil { + t.Fatal(err) + } + + if _, err := AddUserToChannel(th.BasicUser, channel1); err != nil { + t.Fatal(err) + } + if _, err := AddUserToChannel(th.BasicUser2, channel1); err != nil { + t.Fatal(err) + } + + if err := MoveChannel(targetTeam, channel1); err == nil { + t.Fatal("Should have failed due to mismatched members.") + } + + if _, err := AddUserToTeam(targetTeam.Id, th.BasicUser2.Id, ""); err != nil { + t.Fatal(err) + } + + if err := MoveChannel(targetTeam, channel1); err != nil { + t.Fatal(err) + } +} |