diff options
author | hmhealey <harrisonmhealey@gmail.com> | 2015-10-27 11:04:23 -0400 |
---|---|---|
committer | hmhealey <harrisonmhealey@gmail.com> | 2015-10-27 12:46:31 -0400 |
commit | 61da22ea32a71015191e94665171e9703bd39211 (patch) | |
tree | 44c236004bade907e5c437f9911a1a090203bf65 /api/channel_test.go | |
parent | 887d205b1fbb3188331a324ba59b7ec187a2d772 (diff) | |
download | chat-61da22ea32a71015191e94665171e9703bd39211.tar.gz chat-61da22ea32a71015191e94665171e9703bd39211.tar.bz2 chat-61da22ea32a71015191e94665171e9703bd39211.zip |
Added Channel.Purpose on the server
Diffstat (limited to 'api/channel_test.go')
-rw-r--r-- | api/channel_test.go | 79 |
1 files changed, 73 insertions, 6 deletions
diff --git a/api/channel_test.go b/api/channel_test.go index 2cfd1601f..a41f63b1b 100644 --- a/api/channel_test.go +++ b/api/channel_test.go @@ -8,6 +8,7 @@ import ( "github.com/mattermost/platform/store" "github.com/mattermost/platform/utils" "net/http" + "strings" "testing" "time" ) @@ -174,13 +175,18 @@ func TestUpdateChannel(t *testing.T) { Client.AddChannelMember(channel1.Id, userTeamAdmin.Id) header := "a" + model.NewId() + "a" - upChannel1 := &model.Channel{Id: channel1.Id, Header: header} + purpose := "a" + model.NewId() + "a" + upChannel1 := &model.Channel{Id: channel1.Id, Header: header, Purpose: purpose} upChannel1 = Client.Must(Client.UpdateChannel(upChannel1)).Data.(*model.Channel) if upChannel1.Header != header { t.Fatal("Channel admin failed to update header") } + if upChannel1.Purpose != purpose { + t.Fatal("Channel admin failed to update purpose") + } + if upChannel1.DisplayName != channel1.DisplayName { t.Fatal("Channel admin failed to skip displayName") } @@ -188,13 +194,18 @@ func TestUpdateChannel(t *testing.T) { Client.LoginByEmail(team.Name, userTeamAdmin.Email, "pwd") header = "b" + model.NewId() + "b" - upChannel1 = &model.Channel{Id: channel1.Id, Header: header} + purpose = "b" + model.NewId() + "b" + upChannel1 = &model.Channel{Id: channel1.Id, Header: header, Purpose: purpose} upChannel1 = Client.Must(Client.UpdateChannel(upChannel1)).Data.(*model.Channel) if upChannel1.Header != header { t.Fatal("Team admin failed to update header") } + if upChannel1.Purpose != purpose { + t.Fatal("Team admin failed to update purpose") + } + if upChannel1.DisplayName != channel1.DisplayName { t.Fatal("Team admin failed to skip displayName") } @@ -259,10 +270,7 @@ func TestUpdateChannelHeader(t *testing.T) { } data["channel_id"] = channel1.Id - data["channel_header"] = "" - for i := 0; i < 1050; i++ { - data["channel_header"] += "a" - } + data["channel_header"] = strings.Repeat("a", 1050) if _, err := Client.UpdateChannelHeader(data); err == nil { t.Fatal("should have errored on bad channel header") } @@ -280,6 +288,65 @@ func TestUpdateChannelHeader(t *testing.T) { } } +func TestUpdateChannelPurpose(t *testing.T) { + Setup() + + team := &model.Team{DisplayName: "Name", Name: "z-z-" + model.NewId() + "a", Email: "test@nowhere.com", Type: model.TEAM_OPEN} + team = Client.Must(Client.CreateTeam(team)).Data.(*model.Team) + + user := &model.User{TeamId: team.Id, Email: model.NewId() + "corey@test.com", Nickname: "Corey Hulen", Password: "pwd"} + user = Client.Must(Client.CreateUser(user, "")).Data.(*model.User) + store.Must(Srv.Store.User().VerifyEmail(user.Id)) + + Client.LoginByEmail(team.Name, user.Email, "pwd") + + channel1 := &model.Channel{DisplayName: "A Test API Name", Name: "a" + model.NewId() + "a", Type: model.CHANNEL_OPEN, TeamId: team.Id} + channel1 = Client.Must(Client.CreateChannel(channel1)).Data.(*model.Channel) + + data := make(map[string]string) + data["channel_id"] = channel1.Id + data["channel_purpose"] = "new purpose" + + var upChannel1 *model.Channel + if result, err := Client.UpdateChannelPurpose(data); err != nil { + t.Fatal(err) + } else { + upChannel1 = result.Data.(*model.Channel) + } + + if upChannel1.Purpose != data["channel_purpose"] { + t.Fatal("Failed to update purpose") + } + + data["channel_id"] = "junk" + if _, err := Client.UpdateChannelPurpose(data); err == nil { + t.Fatal("should have errored on junk channel id") + } + + data["channel_id"] = "12345678901234567890123456" + if _, err := Client.UpdateChannelPurpose(data); err == nil { + t.Fatal("should have errored on non-existent channel id") + } + + data["channel_id"] = channel1.Id + data["channel_purpose"] = strings.Repeat("a", 150) + if _, err := Client.UpdateChannelPurpose(data); err == nil { + t.Fatal("should have errored on bad channel purpose") + } + + user2 := &model.User{TeamId: team.Id, Email: model.NewId() + "corey@test.com", Nickname: "Corey Hulen", Password: "pwd"} + user2 = Client.Must(Client.CreateUser(user2, "")).Data.(*model.User) + store.Must(Srv.Store.User().VerifyEmail(user2.Id)) + + Client.LoginByEmail(team.Name, user2.Email, "pwd") + + data["channel_id"] = channel1.Id + data["channel_purpose"] = "new purpose" + if _, err := Client.UpdateChannelPurpose(data); err == nil { + t.Fatal("should have errored non-channel member trying to update purpose") + } +} + func TestGetChannel(t *testing.T) { Setup() |