summaryrefslogtreecommitdiffstats
path: root/app/channel_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'app/channel_test.go')
-rw-r--r--app/channel_test.go43
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)
+ }
+}