From 03c9d4edc4e321db8c1b70ae621f77fa89664dfc Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 4 Feb 2020 18:02:39 +0800 Subject: Add get timeline list feature. --- Timeline.Tests/IntegratedTests/TimelineTest.cs | 77 ++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) (limited to 'Timeline.Tests/IntegratedTests/TimelineTest.cs') diff --git a/Timeline.Tests/IntegratedTests/TimelineTest.cs b/Timeline.Tests/IntegratedTests/TimelineTest.cs index 58066d71..253554df 100644 --- a/Timeline.Tests/IntegratedTests/TimelineTest.cs +++ b/Timeline.Tests/IntegratedTests/TimelineTest.cs @@ -35,6 +35,83 @@ namespace Timeline.Tests.IntegratedTests } } + [Fact] + public async Task TimelineList() + { + await CreateTestTimelines(); + + TimelineInfo user1Timeline; + + var client = await CreateDefaultClient(); + + { + var res = await client.GetAsync("/users/user1/timeline"); + user1Timeline = res.Should().HaveStatusCode(200) + .And.HaveJsonBody().Which; + } + + { + var testResult = new List(); + testResult.Add(user1Timeline); + testResult.AddRange(_testTimelines); + + var res = await client.GetAsync("/timelines"); + res.Should().HaveStatusCode(200) + .And.HaveJsonBody>() + .Which.Should().BeEquivalentTo(testResult); + } + } + + [Fact] + public async Task TimelineList_WithRelate() + { + await CreateTestTimelines(); + + var testResult = new List(); + + { + var client = await CreateClientAsUser(); + + { + var res = await client.PutAsync("/users/user1/timeline/members/user2", null); + res.Should().HaveStatusCode(200); + } + + { + var res = await client.PutAsync("/timelines/t1/members/user2", null); + res.Should().HaveStatusCode(200); + } + + { + var res = await client.GetAsync("/users/user1/timeline"); + testResult.Add(res.Should().HaveStatusCode(200) + .And.HaveJsonBody().Which); + } + + { + var res = await client.GetAsync("/timelines/t1"); + testResult.Add(res.Should().HaveStatusCode(200) + .And.HaveJsonBody().Which); + } + + { + var res = await client.GetAsync("/users/user2/timeline"); + testResult.Add(res.Should().HaveStatusCode(200) + .And.HaveJsonBody().Which); + } + } + + testResult.Add(_testTimelines[2]); + + { + var client = await CreateClientAs(2); + var res = await client.GetAsync("/timelines?relate=user2"); + res.Should().HaveStatusCode(200) + .And.HaveJsonBody>() + .Which.Should().BeEquivalentTo(testResult); + } + } + [Fact] public async Task TimelineCreate_Should_Work() { -- cgit v1.2.3