summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaturnino Abril <saturnino.abril@gmail.com>2017-08-31 04:29:32 +0800
committerJoram Wilander <jwawilander@gmail.com>2017-08-30 16:29:32 -0400
commitf34cd567a6332fe53dae27e6b99b4382505de7a1 (patch)
treee0d32d1fd51930122e8b18408fba5f30a858780c
parentbb2ca558bb8a015ff850aa3887cbbfdc4e14650d (diff)
downloadchat-f34cd567a6332fe53dae27e6b99b4382505de7a1.tar.gz
chat-f34cd567a6332fe53dae27e6b99b4382505de7a1.tar.bz2
chat-f34cd567a6332fe53dae27e6b99b4382505de7a1.zip
[PLT-5170] Add join the channel system message for the person who created the channel (#7299)
* add join the channel system message for the person who created the channel * update test
-rw-r--r--api/admin_test.go2
-rw-r--r--api/command_test.go24
-rw-r--r--api/post_test.go8
-rw-r--r--api4/command_test.go17
-rw-r--r--app/channel.go7
5 files changed, 46 insertions, 12 deletions
diff --git a/api/admin_test.go b/api/admin_test.go
index bfc678adc..07504c4d1 100644
--- a/api/admin_test.go
+++ b/api/admin_test.go
@@ -246,7 +246,7 @@ func TestGetTeamAnalyticsStandard(t *testing.T) {
t.Fatal()
}
- if rows[2].Value != 6 {
+ if rows[2].Value != 9 {
t.Log(rows.ToJson())
t.Fatal()
}
diff --git a/api/command_test.go b/api/command_test.go
index bc8aca6aa..0d575d702 100644
--- a/api/command_test.go
+++ b/api/command_test.go
@@ -4,6 +4,7 @@
package api
import (
+ "strings"
"testing"
"time"
@@ -256,9 +257,22 @@ func TestTestCommand(t *testing.T) {
time.Sleep(100 * time.Millisecond)
- p1 := Client.Must(Client.GetPosts(channel1.Id, 0, 2, "")).Data.(*model.PostList)
- if len(p1.Order) != 1 {
- t.Fatal("Test command failed to send")
+ p1 := Client.Must(Client.GetPosts(channel1.Id, 0, 10, "")).Data.(*model.PostList)
+ // including system 'joined' message
+ if len(p1.Order) != 2 {
+ t.Fatal("Test command response failed to send")
+ }
+
+ cmdPosted := false
+ for _, post := range p1.Posts {
+ if strings.Contains(post.Message, "test command response") {
+ cmdPosted = true
+ break
+ }
+ }
+
+ if !cmdPosted {
+ t.Fatal("Test command response failed to post")
}
cmd2 := &model.Command{
@@ -276,8 +290,8 @@ func TestTestCommand(t *testing.T) {
time.Sleep(100 * time.Millisecond)
- p2 := Client.Must(Client.GetPosts(channel1.Id, 0, 2, "")).Data.(*model.PostList)
- if len(p2.Order) != 2 {
+ p2 := Client.Must(Client.GetPosts(channel1.Id, 0, 10, "")).Data.(*model.PostList)
+ if len(p2.Order) != 3 {
t.Fatal("Test command failed to send")
}
}
diff --git a/api/post_test.go b/api/post_test.go
index 29c1f791a..c31439c82 100644
--- a/api/post_test.go
+++ b/api/post_test.go
@@ -613,8 +613,8 @@ func TestGetPostsBeforeAfter(t *testing.T) {
t.Fatal("wrong order")
}
- if len(r1.Posts) != 3 {
- t.Log(r1.Posts)
+ // including created post from test helper and system 'joined' message
+ if len(r1.Posts) != 4 {
t.Fatal("wrong size")
}
@@ -927,8 +927,8 @@ func TestDeletePosts(t *testing.T) {
r2 := Client.Must(Client.GetPosts(channel1.Id, 0, 10, "")).Data.(*model.PostList)
- if len(r2.Posts) != 5 {
- t.Fatal("should have returned 5 items")
+ if post := r2.Posts[post3.Id]; post != nil {
+ t.Fatal("should have not returned deleted post")
}
time.Sleep(10 * time.Millisecond)
diff --git a/api4/command_test.go b/api4/command_test.go
index 8f0303c55..3c61f82b1 100644
--- a/api4/command_test.go
+++ b/api4/command_test.go
@@ -4,6 +4,7 @@
package api4
import (
+ "strings"
"testing"
"github.com/mattermost/platform/app"
@@ -416,10 +417,22 @@ func TestExecuteCommand(t *testing.T) {
}
posts, err := app.GetPostsPage(channel.Id, 0, 10)
- if err != nil || posts == nil || len(posts.Order) != 2 {
+ if err != nil || posts == nil || len(posts.Order) != 3 {
t.Fatal("Test command failed to send")
}
+ cmdPosted := false
+ for _, post := range posts.Posts {
+ if strings.Contains(post.Message, "test command response") {
+ cmdPosted = true
+ break
+ }
+ }
+
+ if !cmdPosted {
+ t.Fatal("Test command response failed to post")
+ }
+
getCmd := &model.Command{
CreatorId: th.BasicUser.Id,
TeamId: th.BasicTeam.Id,
@@ -440,7 +453,7 @@ func TestExecuteCommand(t *testing.T) {
}
posts, err = app.GetPostsPage(channel.Id, 0, 10)
- if err != nil || posts == nil || len(posts.Order) != 3 {
+ if err != nil || posts == nil || len(posts.Order) != 4 {
t.Fatal("Test command failed to send")
}
diff --git a/app/channel.go b/app/channel.go
index 417659c49..a0684ddc8 100644
--- a/app/channel.go
+++ b/app/channel.go
@@ -126,6 +126,13 @@ func CreateChannelWithUser(channel *model.Channel, userId string) (*model.Channe
return nil, err
}
+ var user *model.User
+ if user, err = GetUser(userId); err != nil {
+ return nil, err
+ }
+
+ postJoinChannelMessage(user, channel)
+
message := model.NewWebSocketEvent(model.WEBSOCKET_EVENT_CHANNEL_CREATED, "", "", userId, nil)
message.Add("channel_id", channel.Id)
message.Add("team_id", channel.TeamId)