diff options
author | crupest <crupest@outlook.com> | 2020-12-17 23:49:16 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-17 23:49:16 +0800 |
commit | ebc2892d1546b8b59bd1c9adabe8a96a2e2a0754 (patch) | |
tree | f27b279237a6a7ab3b6a09206f3fec6a5524674b /BackEnd/Timeline.Tests/IntegratedTests/HighlightTimelineTest.cs | |
parent | b0ee9afddd4f7ecf8a183ab8d8e9e575324a2b68 (diff) | |
parent | d452781c81e6d19076cf9d356877e154b2e34e91 (diff) | |
download | timeline-ebc2892d1546b8b59bd1c9adabe8a96a2e2a0754.tar.gz timeline-ebc2892d1546b8b59bd1c9adabe8a96a2e2a0754.tar.bz2 timeline-ebc2892d1546b8b59bd1c9adabe8a96a2e2a0754.zip |
Merge pull request #192 from crupest/highlight-timeline
Highlight timeline.
Diffstat (limited to 'BackEnd/Timeline.Tests/IntegratedTests/HighlightTimelineTest.cs')
-rw-r--r-- | BackEnd/Timeline.Tests/IntegratedTests/HighlightTimelineTest.cs | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/BackEnd/Timeline.Tests/IntegratedTests/HighlightTimelineTest.cs b/BackEnd/Timeline.Tests/IntegratedTests/HighlightTimelineTest.cs new file mode 100644 index 00000000..d4b4d55d --- /dev/null +++ b/BackEnd/Timeline.Tests/IntegratedTests/HighlightTimelineTest.cs @@ -0,0 +1,91 @@ +using FluentAssertions;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Timeline.Models.Http;
+using Xunit;
+
+namespace Timeline.Tests.IntegratedTests
+{
+ public class HighlightTimelineTest : IntegratedTestBase
+ {
+ [Fact]
+ public async Task PermissionTest()
+ {
+ using var client = await CreateClientAsUser();
+
+ await client.TestPutAssertForbiddenAsync("highlights/@user1");
+ await client.TestDeleteAssertForbiddenAsync("highlights/@user1");
+ await client.TestPostAssertForbiddenAsync("highlightop/move", new HttpHighlightTimelineMoveRequest { Timeline = "aaa", NewPosition = 1 });
+ }
+
+ [Fact]
+ public async Task InvalidModel()
+ {
+ using var client = await CreateClientAsAdministrator();
+
+ await client.TestPutAssertInvalidModelAsync("highlights/!!!");
+ await client.TestDeleteAssertInvalidModelAsync("highlights/!!!");
+ await client.TestPostAssertInvalidModelAsync("highlightop/move", new HttpHighlightTimelineMoveRequest { Timeline = null!, NewPosition = 1 });
+ await client.TestPostAssertInvalidModelAsync("highlightop/move", new HttpHighlightTimelineMoveRequest { Timeline = "aaa", NewPosition = null });
+ }
+
+ [Fact]
+ public async Task ShouldWork()
+ {
+ {
+ using var client1 = await CreateClientAsUser();
+ await client1.TestPostAsync("timelines", new TimelineCreateRequest { Name = "t1" });
+ }
+
+ using var client = await CreateClientAsAdministrator();
+
+ {
+ var h = await client.TestGetAsync<List<HttpTimeline>>("highlights");
+ h.Should().BeEmpty();
+ }
+
+ await client.TestPutAsync("highlights/@user1");
+
+ {
+ var h = await client.TestGetAsync<List<HttpTimeline>>("highlights");
+ h.Should().HaveCount(1);
+ h[0].Name.Should().Be("@user1");
+ }
+
+ await client.TestPutAsync("highlights/t1");
+
+ {
+ var h = await client.TestGetAsync<List<HttpTimeline>>("highlights");
+ h.Should().HaveCount(2);
+ h[0].Name.Should().Be("@user1");
+ h[1].Name.Should().Be("t1");
+ }
+
+ await client.TestPostAsync("highlightop/move", new HttpHighlightTimelineMoveRequest { Timeline = "@user1", NewPosition = 2 });
+
+ {
+ var h = await client.TestGetAsync<List<HttpTimeline>>("highlights");
+ h.Should().HaveCount(2);
+ h[0].Name.Should().Be("t1");
+ h[1].Name.Should().Be("@user1");
+ }
+
+ await client.TestDeleteAsync("highlights/@user1");
+
+ {
+ var h = await client.TestGetAsync<List<HttpTimeline>>("highlights");
+ h.Should().HaveCount(1);
+ h[0].Name.Should().Be("t1");
+ }
+
+ await client.TestDeleteAsync("highlights/t1");
+
+ {
+ var h = await client.TestGetAsync<List<HttpTimeline>>("highlights");
+ h.Should().BeEmpty();
+ }
+ }
+ }
+}
|