reaction_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package teststore
  2. import (
  3. "context"
  4. "testing"
  5. "github.com/stretchr/testify/require"
  6. storepb "github.com/usememos/memos/proto/gen/store"
  7. "github.com/usememos/memos/store"
  8. )
  9. func TestReactionStore(t *testing.T) {
  10. ctx := context.Background()
  11. ts := NewTestingStore(ctx, t)
  12. user, err := createTestingHostUser(ctx, ts)
  13. require.NoError(t, err)
  14. contentID := "test_content_id"
  15. reaction, err := ts.UpsertReaction(ctx, &store.Reaction{
  16. CreatorID: user.ID,
  17. ContentID: contentID,
  18. ReactionType: storepb.ReactionType_HEART,
  19. })
  20. require.NoError(t, err)
  21. require.NotNil(t, reaction)
  22. require.NotEmpty(t, reaction.ID)
  23. reactions, err := ts.ListReactions(ctx, &store.FindReaction{
  24. ContentID: &contentID,
  25. })
  26. require.NoError(t, err)
  27. require.Len(t, reactions, 1)
  28. require.Equal(t, reaction, reactions[0])
  29. err = ts.DeleteReaction(ctx, &store.DeleteReaction{
  30. ID: reaction.ID,
  31. })
  32. require.NoError(t, err)
  33. reactions, err = ts.ListReactions(ctx, &store.FindReaction{
  34. ContentID: &contentID,
  35. })
  36. require.NoError(t, err)
  37. require.Len(t, reactions, 0)
  38. ts.Close()
  39. }