mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
[MM-52955] Fix panic for not found posts (#23561)
This commit is contained in:
@@ -41,6 +41,11 @@ func (s *SqlReactionStore) Save(reaction *model.Reaction) (re *model.Reaction, e
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "failed while getting channelId from Posts")
|
||||
}
|
||||
|
||||
if len(channelIds) == 0 {
|
||||
return nil, store.NewErrNotFound("Post", reaction.PostId)
|
||||
}
|
||||
|
||||
reaction.ChannelId = channelIds[0]
|
||||
}
|
||||
err = s.saveReactionAndUpdatePost(transaction, reaction)
|
||||
|
||||
@@ -118,6 +118,16 @@ func testReactionSave(t *testing.T, ss store.Store) {
|
||||
_, nErr = ss.Reaction().Save(reaction5)
|
||||
require.Error(t, nErr, "should've failed for invalid reaction")
|
||||
|
||||
t.Run("channel not found", func(t *testing.T) {
|
||||
// invalid reaction
|
||||
reaction5 := &model.Reaction{
|
||||
UserId: reaction1.UserId,
|
||||
PostId: model.NewId(), // Unknown PostId
|
||||
EmojiName: model.NewId(),
|
||||
}
|
||||
_, nErr = ss.Reaction().Save(reaction5)
|
||||
require.Error(t, nErr, "should've failed because postId doesn't belong to a stored post")
|
||||
})
|
||||
}
|
||||
|
||||
func testReactionDelete(t *testing.T, ss store.Store) {
|
||||
|
||||
Reference in New Issue
Block a user