diff options
Diffstat (limited to 'api4/post_test.go')
-rw-r--r-- | api4/post_test.go | 84 |
1 files changed, 82 insertions, 2 deletions
diff --git a/api4/post_test.go b/api4/post_test.go index 910443fef..5f8cb5b31 100644 --- a/api4/post_test.go +++ b/api4/post_test.go @@ -17,6 +17,7 @@ import ( "github.com/mattermost/mattermost-server/app" "github.com/mattermost/mattermost-server/model" + "github.com/mattermost/mattermost-server/utils" ) func TestCreatePost(t *testing.T) { @@ -1302,7 +1303,21 @@ func TestSearchPosts(t *testing.T) { _ = th.CreateMessagePostWithClient(th.Client, archivedChannel, "#hashtag for post3") th.Client.DeleteChannel(archivedChannel.Id) - posts, resp := Client.SearchPosts(th.BasicTeam.Id, "search", false) + terms := "search" + isOrSearch := false + timezoneOffset := 5 + searchParams := model.SearchParameter{ + Terms: &terms, + IsOrSearch: &isOrSearch, + TimeZoneOffset: &timezoneOffset, + } + posts, resp := Client.SearchPostsWithParams(th.BasicTeam.Id, &searchParams) + CheckNoError(t, resp) + if len(posts.Order) != 3 { + t.Fatal("wrong search") + } + + posts, resp = Client.SearchPosts(th.BasicTeam.Id, "search", false) CheckNoError(t, resp) if len(posts.Order) != 3 { t.Fatal("wrong search") @@ -1329,7 +1344,7 @@ func TestSearchPosts(t *testing.T) { th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.ExperimentalViewArchivedChannels = false }) - + posts, resp = Client.SearchPostsIncludeDeletedChannels(th.BasicTeam.Id, "#hashtag", false) CheckNoError(t, resp) if len(posts.Order) != 1 { @@ -1516,6 +1531,71 @@ func TestSearchPostsFromUser(t *testing.T) { } } +func TestSearchPostsWithDateFlags(t *testing.T) { + th := Setup().InitBasic() + defer th.TearDown() + th.LoginBasic() + Client := th.Client + + message := "sgtitlereview\n with return" + createDate := time.Date(2018, 8, 1, 5, 0, 0, 0, time.UTC) + _ = th.CreateMessagePostNoClient(th.BasicChannel, message, utils.MillisFromTime(createDate)) + + message = "other message with no return" + createDate = time.Date(2018, 8, 2, 5, 0, 0, 0, time.UTC) + _ = th.CreateMessagePostNoClient(th.BasicChannel, message, utils.MillisFromTime(createDate)) + + message = "other message with no return" + createDate = time.Date(2018, 8, 3, 5, 0, 0, 0, time.UTC) + _ = th.CreateMessagePostNoClient(th.BasicChannel, message, utils.MillisFromTime(createDate)) + + posts, _ := Client.SearchPosts(th.BasicTeam.Id, "return", false) + if len(posts.Order) != 3 { + t.Fatalf("wrong number of posts returned %v", len(posts.Order)) + } + + posts, _ = Client.SearchPosts(th.BasicTeam.Id, "on:", false) + if len(posts.Order) != 0 { + t.Fatalf("wrong number of posts returned %v", len(posts.Order)) + } + + posts, _ = Client.SearchPosts(th.BasicTeam.Id, "after:", false) + if len(posts.Order) != 0 { + t.Fatalf("wrong number of posts returned %v", len(posts.Order)) + } + + posts, _ = Client.SearchPosts(th.BasicTeam.Id, "before:", false) + if len(posts.Order) != 0 { + t.Fatalf("wrong number of posts returned %v", len(posts.Order)) + } + + posts, _ = Client.SearchPosts(th.BasicTeam.Id, "on:2018-08-01", false) + if len(posts.Order) != 1 { + t.Fatalf("wrong number of posts returned %v", len(posts.Order)) + } + + posts, _ = Client.SearchPosts(th.BasicTeam.Id, "after:2018-08-01", false) + resultCount := 0 + for _, post := range posts.Posts { + if post.UserId == th.BasicUser.Id { + resultCount = resultCount + 1 + } + } + if resultCount != 3 { + t.Fatalf("wrong number of posts returned %v", len(posts.Order)) + } + + posts, _ = Client.SearchPosts(th.BasicTeam.Id, "before:2018-08-02", false) + if len(posts.Order) != 2 { + t.Fatalf("wrong number of posts returned %v", len(posts.Order)) + } + + posts, _ = Client.SearchPosts(th.BasicTeam.Id, "before:2018-08-03 after:2018-08-02", false) + if len(posts.Order) != 2 { + t.Fatalf("wrong number of posts returned %v", len(posts.Order)) + } +} + func TestGetFileInfosForPost(t *testing.T) { th := Setup().InitBasic().InitSystemAdmin() defer th.TearDown() |