aboutsummaryrefslogtreecommitdiff
path: root/Timeline.Tests
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-02-24 16:58:01 +0800
committerGitHub <noreply@github.com>2020-02-24 16:58:01 +0800
commitcc7dd9ec82ab9f1efd46544e378fd910021f45db (patch)
tree15a9ecbe1339813d59af04b571f350043df36abc /Timeline.Tests
parent4475246be00d0f9d1a5df6c181589ed0b2a7009b (diff)
parentbcae79d0b753cccecffac3ae3c7f049b56a8d800 (diff)
downloadtimeline-cc7dd9ec82ab9f1efd46544e378fd910021f45db.tar.gz
timeline-cc7dd9ec82ab9f1efd46544e378fd910021f45db.tar.bz2
timeline-cc7dd9ec82ab9f1efd46544e378fd910021f45db.zip
Merge pull request #61 from crupest/devv0.1.0-alpha
Add delete timeline feature.
Diffstat (limited to 'Timeline.Tests')
-rw-r--r--Timeline.Tests/IntegratedTests/TimelineTest.cs56
1 files changed, 56 insertions, 0 deletions
diff --git a/Timeline.Tests/IntegratedTests/TimelineTest.cs b/Timeline.Tests/IntegratedTests/TimelineTest.cs
index 51653b0a..14a0a59e 100644
--- a/Timeline.Tests/IntegratedTests/TimelineTest.cs
+++ b/Timeline.Tests/IntegratedTests/TimelineTest.cs
@@ -316,6 +316,62 @@ namespace Timeline.Tests.IntegratedTests
}
[Fact]
+ public async Task TimelineDelete_Should_Work()
+ {
+ await CreateTestTimelines();
+
+ {
+ using var client = await CreateDefaultClient();
+ var res = await client.DeleteAsync("timelines/t1");
+ res.Should().HaveStatusCode(HttpStatusCode.Unauthorized);
+ }
+
+ {
+ using var client = await CreateClientAs(2);
+ var res = await client.DeleteAsync("timelines/t1");
+ res.Should().HaveStatusCode(HttpStatusCode.Forbidden);
+ }
+
+ {
+ using var client = await CreateClientAsAdministrator();
+
+ {
+ var res = await client.DeleteAsync("timelines/!!!");
+ res.Should().BeInvalidModel();
+ }
+
+ {
+ var res = await client.DeleteAsync("timelines/t2");
+ res.Should().BeDelete(true);
+ }
+
+ {
+ var res = await client.DeleteAsync("timelines/t2");
+ res.Should().BeDelete(false);
+ }
+ }
+
+ {
+ using var client = await CreateClientAs(1);
+
+ {
+ var res = await client.DeleteAsync("timelines/!!!");
+ res.Should().BeInvalidModel();
+ }
+
+ {
+ var res = await client.DeleteAsync("timelines/t1");
+ res.Should().BeDelete(true);
+ }
+
+ {
+ var res = await client.DeleteAsync("timelines/t1");
+ res.Should().HaveStatusCode(HttpStatusCode.NotFound);
+ }
+ }
+ }
+
+ [Fact]
public async Task InvalidModel_BadName()
{
using var client = await CreateClientAsAdministrator();