Merge pull request #1988 from mattermost/plt-1475
PLT-1475 Update search query to ignore system messages
Этот коммит содержится в:
@@ -601,13 +601,11 @@ func TestSearchPostsFromUser(t *testing.T) {
|
|||||||
post2 := &model.Post{ChannelId: channel2.Id, Message: "sgtitlereview\n with return"}
|
post2 := &model.Post{ChannelId: channel2.Id, Message: "sgtitlereview\n with return"}
|
||||||
post2 = Client.Must(Client.CreatePost(post2)).Data.(*model.Post)
|
post2 = Client.Must(Client.CreatePost(post2)).Data.(*model.Post)
|
||||||
|
|
||||||
// includes "X has joined the channel" messages for both user2 and user3
|
|
||||||
|
|
||||||
if result := Client.Must(Client.SearchPosts("from: " + user1.Username)).Data.(*model.PostList); len(result.Order) != 1 {
|
if result := Client.Must(Client.SearchPosts("from: " + user1.Username)).Data.(*model.PostList); len(result.Order) != 1 {
|
||||||
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
||||||
}
|
}
|
||||||
|
|
||||||
if result := Client.Must(Client.SearchPosts("from: " + user2.Username)).Data.(*model.PostList); len(result.Order) != 3 {
|
if result := Client.Must(Client.SearchPosts("from: " + user2.Username)).Data.(*model.PostList); len(result.Order) != 1 {
|
||||||
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -615,6 +613,9 @@ func TestSearchPostsFromUser(t *testing.T) {
|
|||||||
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
post3 := &model.Post{ChannelId: channel1.Id, Message: "hullo"}
|
||||||
|
post3 = Client.Must(Client.CreatePost(post3)).Data.(*model.Post)
|
||||||
|
|
||||||
if result := Client.Must(Client.SearchPosts("from: " + user2.Username + " in:" + channel1.Name)).Data.(*model.PostList); len(result.Order) != 1 {
|
if result := Client.Must(Client.SearchPosts("from: " + user2.Username + " in:" + channel1.Name)).Data.(*model.PostList); len(result.Order) != 1 {
|
||||||
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
||||||
}
|
}
|
||||||
@@ -630,19 +631,22 @@ func TestSearchPostsFromUser(t *testing.T) {
|
|||||||
// wait for the join/leave messages to be created for user3 since they're done asynchronously
|
// wait for the join/leave messages to be created for user3 since they're done asynchronously
|
||||||
time.Sleep(100 * time.Millisecond)
|
time.Sleep(100 * time.Millisecond)
|
||||||
|
|
||||||
if result := Client.Must(Client.SearchPosts("from: " + user2.Username)).Data.(*model.PostList); len(result.Order) != 3 {
|
if result := Client.Must(Client.SearchPosts("from: " + user2.Username)).Data.(*model.PostList); len(result.Order) != 2 {
|
||||||
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
||||||
}
|
}
|
||||||
|
|
||||||
if result := Client.Must(Client.SearchPosts("from: " + user2.Username + " from: " + user3.Username)).Data.(*model.PostList); len(result.Order) != 5 {
|
if result := Client.Must(Client.SearchPosts("from: " + user2.Username + " from: " + user3.Username)).Data.(*model.PostList); len(result.Order) != 2 {
|
||||||
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
||||||
}
|
}
|
||||||
|
|
||||||
if result := Client.Must(Client.SearchPosts("from: " + user2.Username + " from: " + user3.Username + " in:" + channel2.Name)).Data.(*model.PostList); len(result.Order) != 3 {
|
if result := Client.Must(Client.SearchPosts("from: " + user2.Username + " from: " + user3.Username + " in:" + channel2.Name)).Data.(*model.PostList); len(result.Order) != 1 {
|
||||||
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
||||||
}
|
}
|
||||||
|
|
||||||
if result := Client.Must(Client.SearchPosts("from: " + user2.Username + " from: " + user3.Username + " in:" + channel2.Name + " joined")).Data.(*model.PostList); len(result.Order) != 2 {
|
post4 := &model.Post{ChannelId: channel2.Id, Message: "coconut"}
|
||||||
|
post4 = Client.Must(Client.CreatePost(post4)).Data.(*model.Post)
|
||||||
|
|
||||||
|
if result := Client.Must(Client.SearchPosts("from: " + user2.Username + " from: " + user3.Username + " in:" + channel2.Name + " coconut")).Data.(*model.PostList); len(result.Order) != 1 {
|
||||||
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
t.Fatalf("wrong number of posts returned %v", len(result.Order))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -642,6 +642,7 @@ func (s SqlPostStore) Search(teamId string, userId string, params *model.SearchP
|
|||||||
Posts
|
Posts
|
||||||
WHERE
|
WHERE
|
||||||
DeleteAt = 0
|
DeleteAt = 0
|
||||||
|
AND Type NOT LIKE '` + model.POST_SYSTEM_MESSAGE_PREFIX + `%'
|
||||||
POST_FILTER
|
POST_FILTER
|
||||||
AND ChannelId IN (
|
AND ChannelId IN (
|
||||||
SELECT
|
SELECT
|
||||||
|
|||||||
@@ -676,6 +676,13 @@ func TestPostStoreSearch(t *testing.T) {
|
|||||||
o1.Message = "corey mattermost new york"
|
o1.Message = "corey mattermost new york"
|
||||||
o1 = (<-store.Post().Save(o1)).Data.(*model.Post)
|
o1 = (<-store.Post().Save(o1)).Data.(*model.Post)
|
||||||
|
|
||||||
|
o1a := &model.Post{}
|
||||||
|
o1a.ChannelId = c1.Id
|
||||||
|
o1a.UserId = model.NewId()
|
||||||
|
o1a.Message = "corey mattermost new york"
|
||||||
|
o1a.Type = model.POST_JOIN_LEAVE
|
||||||
|
o1a = (<-store.Post().Save(o1a)).Data.(*model.Post)
|
||||||
|
|
||||||
o2 := &model.Post{}
|
o2 := &model.Post{}
|
||||||
o2.ChannelId = c1.Id
|
o2.ChannelId = c1.Id
|
||||||
o2.UserId = model.NewId()
|
o2.UserId = model.NewId()
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user