diff --git a/test/store/memo_relation_test.go b/test/store/memo_relation_test.go index 6c5ed77b1..55b189dcf 100644 --- a/test/store/memo_relation_test.go +++ b/test/store/memo_relation_test.go @@ -16,40 +16,74 @@ func TestMemoRelationStore(t *testing.T) { require.NoError(t, err) memoCreate := &store.Memo{ CreatorID: user.ID, - Content: "test_content", + Content: "main memo content", Visibility: store.Public, } memo, err := ts.CreateMemo(ctx, memoCreate) require.NoError(t, err) require.Equal(t, memoCreate.Content, memo.Content) - memo2Create := &store.Memo{ + relatedMemoCreate := &store.Memo{ CreatorID: user.ID, - Content: "test_content_2", + Content: "related memo content", Visibility: store.Public, } - memo2, err := ts.CreateMemo(ctx, memo2Create) + relatedMemo, err := ts.CreateMemo(ctx, relatedMemoCreate) require.NoError(t, err) - require.Equal(t, memo2Create.Content, memo2.Content) - memoRelationMessage := &store.MemoRelation{ + require.Equal(t, relatedMemoCreate.Content, relatedMemo.Content) + commentMemoCreate := &store.Memo{ + CreatorID: user.ID, + Content: "comment memo content", + Visibility: store.Public, + } + commentMemo, err := ts.CreateMemo(ctx, commentMemoCreate) + require.NoError(t, err) + require.Equal(t, commentMemoCreate.Content, commentMemo.Content) + + // Reference relation. + referenceRelation := &store.MemoRelation{ MemoID: memo.ID, - RelatedMemoID: memo2.ID, + RelatedMemoID: relatedMemo.ID, Type: store.MemoRelationReference, } - _, err = ts.UpsertMemoRelation(ctx, memoRelationMessage) + _, err = ts.UpsertMemoRelation(ctx, referenceRelation) require.NoError(t, err) - memoRelation, err := ts.ListMemoRelations(ctx, &store.FindMemoRelation{ - MemoID: &memo.ID, + // Comment relation. + commentRelation := &store.MemoRelation{ + MemoID: memo.ID, + RelatedMemoID: commentMemo.ID, + Type: store.MemoRelationComment, + } + _, err = ts.UpsertMemoRelation(ctx, commentRelation) + require.NoError(t, err) + + memo, err = ts.GetMemo(ctx, &store.FindMemo{ + ID: &memo.ID, + }) + require.NoError(t, err) + require.Equal(t, 2, len(memo.RelationList)) + require.Equal(t, referenceRelation, memo.RelationList[0]) + require.Equal(t, commentRelation, memo.RelationList[1]) + relatedMemo, err = ts.GetMemo(ctx, &store.FindMemo{ + ID: &relatedMemo.ID, + }) + require.NoError(t, err) + require.Equal(t, 1, len(relatedMemo.RelationList)) + require.Equal(t, referenceRelation, relatedMemo.RelationList[0]) + commentMemo, err = ts.GetMemo(ctx, &store.FindMemo{ + ID: &commentMemo.ID, }) require.NoError(t, err) - require.Equal(t, 1, len(memoRelation)) - require.Equal(t, memo2.ID, memoRelation[0].RelatedMemoID) - require.Equal(t, memo.ID, memoRelation[0].MemoID) - require.Equal(t, store.MemoRelationReference, memoRelation[0].Type) + require.Equal(t, 1, len(commentMemo.RelationList)) + require.Equal(t, commentRelation, commentMemo.RelationList[0]) err = ts.DeleteMemo(ctx, &store.DeleteMemo{ - ID: memo2.ID, + ID: relatedMemo.ID, }) require.NoError(t, err) - memoRelation, err = ts.ListMemoRelations(ctx, &store.FindMemoRelation{ + err = ts.DeleteMemo(ctx, &store.DeleteMemo{ + ID: commentMemo.ID, + }) + require.NoError(t, err) + memoRelation, err := ts.ListMemoRelations(ctx, &store.FindMemoRelation{ MemoID: &memo.ID, }) require.NoError(t, err) diff --git a/test/store/memo_test.go b/test/store/memo_test.go index dd6454e90..95931b639 100644 --- a/test/store/memo_test.go +++ b/test/store/memo_test.go @@ -44,4 +44,9 @@ func TestMemoStore(t *testing.T) { ID: memo.ID, }) require.NoError(t, err) + memoList, err = ts.ListMemos(ctx, &store.FindMemo{ + CreatorID: &user.ID, + }) + require.NoError(t, err) + require.Equal(t, 0, len(memoList)) }