diff options
author | crupest <crupest@outlook.com> | 2020-12-17 20:08:33 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-12-17 20:08:33 +0800 |
commit | d934c1273bc20533683eaad858a1c499c7729a28 (patch) | |
tree | 0a4f68d9a3c0f57891c05cb5fc7710bb48927b85 /BackEnd/Timeline.Tests/Services | |
parent | 43d7d1444f61be250a04d9cd628d394baaccc8df (diff) | |
download | timeline-d934c1273bc20533683eaad858a1c499c7729a28.tar.gz timeline-d934c1273bc20533683eaad858a1c499c7729a28.tar.bz2 timeline-d934c1273bc20533683eaad858a1c499c7729a28.zip |
...
Diffstat (limited to 'BackEnd/Timeline.Tests/Services')
-rw-r--r-- | BackEnd/Timeline.Tests/Services/DatabaseBasedTest.cs | 10 | ||||
-rw-r--r-- | BackEnd/Timeline.Tests/Services/HighlightTimelineServiceTest.cs | 49 |
2 files changed, 57 insertions, 2 deletions
diff --git a/BackEnd/Timeline.Tests/Services/DatabaseBasedTest.cs b/BackEnd/Timeline.Tests/Services/DatabaseBasedTest.cs index 3bb6ebb5..90fb6463 100644 --- a/BackEnd/Timeline.Tests/Services/DatabaseBasedTest.cs +++ b/BackEnd/Timeline.Tests/Services/DatabaseBasedTest.cs @@ -2,6 +2,7 @@ using Timeline.Entities;
using Timeline.Tests.Helpers;
using Xunit;
+using Xunit.Abstractions;
namespace Timeline.Tests.Services
{
@@ -10,15 +11,20 @@ namespace Timeline.Tests.Services protected TestDatabase TestDatabase { get; }
protected DatabaseContext Database { get; private set; } = default!;
- protected DatabaseBasedTest(bool databaseCreateUsers = true)
+ private readonly ITestOutputHelper? _testOutputHelper;
+
+ protected DatabaseBasedTest(bool databaseCreateUsers = true, ITestOutputHelper? testOutputHelper = null)
{
+ _testOutputHelper = testOutputHelper;
TestDatabase = new TestDatabase(databaseCreateUsers);
}
+ protected DatabaseBasedTest(ITestOutputHelper? testOutputHelper) : this(true, testOutputHelper) { }
+
public async Task InitializeAsync()
{
await TestDatabase.InitializeAsync();
- Database = TestDatabase.CreateContext();
+ Database = TestDatabase.CreateContext(_testOutputHelper);
await OnDatabaseCreatedAsync();
OnDatabaseCreated();
}
diff --git a/BackEnd/Timeline.Tests/Services/HighlightTimelineServiceTest.cs b/BackEnd/Timeline.Tests/Services/HighlightTimelineServiceTest.cs index 8ba26613..dca070c6 100644 --- a/BackEnd/Timeline.Tests/Services/HighlightTimelineServiceTest.cs +++ b/BackEnd/Timeline.Tests/Services/HighlightTimelineServiceTest.cs @@ -4,6 +4,7 @@ using System.Threading.Tasks; using Timeline.Services;
using Timeline.Tests.Helpers;
using Xunit;
+using Xunit.Abstractions;
namespace Timeline.Tests.Services
{
@@ -15,6 +16,12 @@ namespace Timeline.Tests.Services private HighlightTimelineService _service = default!;
+ public HighlightTimelineServiceTest(ITestOutputHelper testOutputHelper)
+ : base(testOutputHelper)
+ {
+
+ }
+
protected override void OnDatabaseCreated()
{
_userService = new UserService(NullLogger<UserService>.Instance, Database, new PasswordService(), new UserPermissionService(Database), _clock);
@@ -39,5 +46,47 @@ namespace Timeline.Tests.Services ht.Should().HaveCount(1).And.BeEquivalentTo(await _timelineService.GetTimeline("tl"));
}
}
+
+ [Fact]
+ public async Task NewOne_Should_BeAtLast()
+ {
+ var userId = await _userService.GetUserIdByUsername("user");
+ await _timelineService.CreateTimeline("t1", userId);
+ await _service.AddHighlightTimeline("t1", userId);
+
+ await _timelineService.CreateTimeline("t2", userId);
+ await _service.AddHighlightTimeline("t2", userId);
+
+ var ht = await _service.GetHighlightTimelines();
+
+ ht.Should().HaveCount(2);
+ ht[0].Name.Should().Be("t1");
+ ht[1].Name.Should().Be("t2");
+ }
+
+ [Fact]
+ public async Task Multiple_Should_Work()
+ {
+ var userId = await _userService.GetUserIdByUsername("user");
+ await _timelineService.CreateTimeline("t1", userId);
+ await _service.AddHighlightTimeline("t1", userId);
+
+ await _timelineService.CreateTimeline("t2", userId);
+ await _service.AddHighlightTimeline("t2", userId);
+
+ await _timelineService.CreateTimeline("t3", userId);
+ await _service.AddHighlightTimeline("t3", userId);
+
+ await _service.MoveHighlightTimeline("t3", 2);
+ (await _service.GetHighlightTimelines())[1].Name.Should().Be("t3");
+
+ await _service.MoveHighlightTimeline("t1", 3);
+ (await _service.GetHighlightTimelines())[2].Name.Should().Be("t1");
+
+ await _service.RemoveHighlightTimeline("t2", userId);
+ await _service.RemoveHighlightTimeline("t1", userId);
+ await _service.RemoveHighlightTimeline("t3", userId);
+ (await _service.GetHighlightTimelines()).Should().BeEmpty();
+ }
}
}
|