From 280698f244bdaf3fbe2896d7104826d132c0b95a Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 16 Jan 2021 19:48:09 +0800 Subject: test: Add unit tests for search service. --- .../Timeline.Tests/Services/SearchServiceTest.cs | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 BackEnd/Timeline.Tests/Services/SearchServiceTest.cs (limited to 'BackEnd/Timeline.Tests/Services/SearchServiceTest.cs') diff --git a/BackEnd/Timeline.Tests/Services/SearchServiceTest.cs b/BackEnd/Timeline.Tests/Services/SearchServiceTest.cs new file mode 100644 index 00000000..968352c0 --- /dev/null +++ b/BackEnd/Timeline.Tests/Services/SearchServiceTest.cs @@ -0,0 +1,49 @@ +using FluentAssertions; +using System.Threading.Tasks; +using Timeline.Services; +using Xunit; + +namespace Timeline.Tests.Services +{ + public class SearchServiceTest : ServiceTestBase + { + private SearchService _service = default!; + + protected override void OnInitialize() + { + _service = new SearchService(Database); + } + + [Fact] + public async Task TimelineSearch_Should_Work() + { + await TimelineService.CreateTimeline("hahaha", UserId); + var t2 = await TimelineService.CreateTimeline("bababa", UserId); + await TimelineService.ChangeProperty(t2.Id, new TimelineChangePropertyParams { Title = "hahaha" }); + await TimelineService.CreateTimeline("bbbbbb", UserId); + + var searchResult = await _service.SearchTimeline("hah"); + searchResult.Items.Should().HaveCount(2); + searchResult.Items[0].Item.Name.Should().Be("hahaha"); + searchResult.Items[0].Score.Should().Be(2); + searchResult.Items[1].Item.Name.Should().Be("bababa"); + searchResult.Items[1].Score.Should().Be(1); + } + + [Fact] + public async Task UserSearch_Should_Work() + { + await UserService.CreateUser("hahaha", "p"); + var u2 = await UserService.CreateUser("bababa", "p"); + await UserService.ModifyUser(u2.Id, new ModifyUserParams { Nickname = "hahaha" }); + await UserService.CreateUser("bbbbbb", "p"); + + var searchResult = await _service.SearchUser("hah"); + searchResult.Items.Should().HaveCount(2); + searchResult.Items[0].Item.Username.Should().Be("hahaha"); + searchResult.Items[0].Score.Should().Be(2); + searchResult.Items[1].Item.Username.Should().Be("bababa"); + searchResult.Items[1].Score.Should().Be(1); + } + } +} -- cgit v1.2.3