From 8e4586a471f497981eac09dbc5a4e2dc5809049f Mon Sep 17 00:00:00 2001 From: sixwaaaay Date: Wed, 9 Oct 2024 22:58:30 +0800 Subject: [PATCH] feat: add semantic similar search --- sharp/content.Tests/DomainTest.cs | 21 ++++--- sharp/content.Tests/repository/ClientTest.cs | 44 +++++++++++++- sharp/content/Program.cs | 3 + sharp/content/appsettings.json | 10 ++-- sharp/content/domainservice/DomainService.cs | 7 ++- sharp/content/endpoints/Endpoints.cs | 4 ++ sharp/content/repository/Client.cs | 60 ++++++++++++++++---- sharp/content/repository/Content.cs | 48 +++++----------- 8 files changed, 137 insertions(+), 60 deletions(-) diff --git a/sharp/content.Tests/DomainTest.cs b/sharp/content.Tests/DomainTest.cs index adddb289..3c6582ef 100644 --- a/sharp/content.Tests/DomainTest.cs +++ b/sharp/content.Tests/DomainTest.cs @@ -29,12 +29,13 @@ public async Task FindById_ReturnsVideoDto_WhenVideoExists() var mockVideoRepo = new Mock(); var mockUserRepo = new Mock(); var mockVoteRepo = new Mock(); + var mockSearchClient = new Mock(null); var video = new Video { Id = 1, UserId = 1 }; var user = new User { Id = "1" }; mockVideoRepo.Setup(repo => repo.FindById(1)).ReturnsAsync(video); mockUserRepo.Setup(repo => repo.FindById(1)).ReturnsAsync(user); mockVoteRepo.Setup(repo => repo.VotedOfVideos(It.IsAny>())).ReturnsAsync([1]); - var service = new DomainService(mockVideoRepo.Object, mockUserRepo.Object, mockVoteRepo.Object); + var service = new DomainService(mockVideoRepo.Object, mockUserRepo.Object, mockVoteRepo.Object, mockSearchClient.Object); // Act var result = await service.FindById(1); @@ -54,12 +55,13 @@ public async Task FindAllByIds_ReturnsVideoDtos_WhenVideosExist() var mockVideoRepo = new Mock(); var mockUserRepo = new Mock(); var mockVoteRepo = new Mock(); + var mockSearchClient = new Mock(null); var videos = new List