summaryrefslogtreecommitdiffstats
path: root/api
diff options
context:
space:
mode:
Diffstat (limited to 'api')
-rw-r--r--api/post.go1
-rw-r--r--api/post_test.go41
2 files changed, 42 insertions, 0 deletions
diff --git a/api/post.go b/api/post.go
index 27a610199..8d255649e 100644
--- a/api/post.go
+++ b/api/post.go
@@ -1255,6 +1255,7 @@ func updatePost(c *Context, w http.ResponseWriter, r *http.Request) {
*newPost = *oldPost
newPost.Message = post.Message
+ newPost.EditAt = model.GetMillis()
newPost.Hashtags, _ = model.ParseHashtags(post.Message)
if result := <-Srv.Store.Post().Update(newPost, oldPost); result.Err != nil {
diff --git a/api/post_test.go b/api/post_test.go
index 509432a25..6101d2c8d 100644
--- a/api/post_test.go
+++ b/api/post_test.go
@@ -47,6 +47,10 @@ func TestCreatePost(t *testing.T) {
t.Fatal("shouldn't have files")
}
+ if rpost1.Data.(*model.Post).EditAt != 0 {
+ t.Fatal("Newly craeted post shouldn't have EditAt set")
+ }
+
post2 := &model.Post{ChannelId: channel1.Id, Message: "a" + model.NewId() + "a", RootId: rpost1.Data.(*model.Post).Id}
rpost2, err := Client.CreatePost(post2)
if err != nil {
@@ -326,6 +330,10 @@ func TestUpdatePost(t *testing.T) {
t.Fatal(err)
}
+ if rpost2.Data.(*model.Post).EditAt != 0 {
+ t.Fatal("Newly craeted post shouldn't have EditAt set")
+ }
+
msg2 := "a" + model.NewId() + " update post 1"
rpost2.Data.(*model.Post).Message = msg2
if rupost2, err := Client.UpdatePost(rpost2.Data.(*model.Post)); err != nil {
@@ -334,6 +342,9 @@ func TestUpdatePost(t *testing.T) {
if rupost2.Data.(*model.Post).Message != msg2 {
t.Fatal("failed to updates")
}
+ if rupost2.Data.(*model.Post).EditAt == 0 {
+ t.Fatal("EditAt not updated for post")
+ }
}
msg1 := "#hashtag a" + model.NewId() + " update post 2"
@@ -1389,3 +1400,33 @@ func TestGetPostById(t *testing.T) {
t.Fatal(respMetadata.Error)
}
}
+
+func TestGetPermalinkTmp(t *testing.T) {
+ th := Setup().InitBasic()
+ Client := th.BasicClient
+ channel1 := th.BasicChannel
+
+ time.Sleep(10 * time.Millisecond)
+ post1 := &model.Post{ChannelId: channel1.Id, Message: "a" + model.NewId() + "a"}
+ post1 = Client.Must(Client.CreatePost(post1)).Data.(*model.Post)
+
+ time.Sleep(10 * time.Millisecond)
+ post2 := &model.Post{ChannelId: channel1.Id, Message: "a" + model.NewId() + "a"}
+ post2 = Client.Must(Client.CreatePost(post2)).Data.(*model.Post)
+
+ etag := Client.Must(Client.GetPost(channel1.Id, post1.Id, "")).Etag
+
+ // test etag caching
+ if cache_result, respMetadata := Client.GetPermalink(channel1.Id, post1.Id, etag); respMetadata.Error != nil {
+ t.Fatal(respMetadata.Error)
+ } else if cache_result != nil {
+ t.Log(cache_result)
+ t.Fatal("cache should be empty")
+ }
+
+ if results, respMetadata := Client.GetPermalink(channel1.Id, post1.Id, ""); respMetadata.Error != nil {
+ t.Fatal(respMetadata.Error)
+ } else if results == nil {
+ t.Fatal("should not be empty")
+ }
+}