[MM-52955] Fix panic for not found posts (#23561)

This commit is contained in:
Ben Schumacher
2023-06-05 10:00:06 +02:00
committed by GitHub
parent c94e8c2134
commit 9a55280d7a
2 changed files with 15 additions and 0 deletions

View File

@@ -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)

View File

@@ -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) {