aboutsummaryrefslogtreecommitdiff
path: root/BackEnd/Timeline.Tests/Services
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-12-17 20:08:33 +0800
committercrupest <crupest@outlook.com>2020-12-17 20:08:33 +0800
commit0bda82609a08965f7bfefd20af3ab5112ce98dd2 (patch)
treef46bf4624a600e04a5c14917b97073a5c69fe30b /BackEnd/Timeline.Tests/Services
parent81ab4cf5c0a2d35042cb4f15a1ff699e7ba9068b (diff)
downloadtimeline-0bda82609a08965f7bfefd20af3ab5112ce98dd2.tar.gz
timeline-0bda82609a08965f7bfefd20af3ab5112ce98dd2.tar.bz2
timeline-0bda82609a08965f7bfefd20af3ab5112ce98dd2.zip
...
Diffstat (limited to 'BackEnd/Timeline.Tests/Services')
-rw-r--r--BackEnd/Timeline.Tests/Services/DatabaseBasedTest.cs10
-rw-r--r--BackEnd/Timeline.Tests/Services/HighlightTimelineServiceTest.cs49
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();
+ }
}
}