diff options
author | crupest <crupest@outlook.com> | 2019-11-20 16:49:12 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-11-20 16:49:12 +0800 |
commit | 33318b9244a82fee6d711aa15f853e1590ff13f7 (patch) | |
tree | 788b8acdf1141c757cb3226d3cd5f64594386b8f /Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs | |
parent | ac3a053868787f682ccf6b31a0023082fd8c9f37 (diff) | |
download | timeline-33318b9244a82fee6d711aa15f853e1590ff13f7.tar.gz timeline-33318b9244a82fee6d711aa15f853e1590ff13f7.tar.bz2 timeline-33318b9244a82fee6d711aa15f853e1590ff13f7.zip |
Get posts should return posts ordered by time.
Diffstat (limited to 'Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs')
-rw-r--r-- | Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs b/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs index 43549d1a..483499fb 100644 --- a/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs +++ b/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Mvc.Testing; using System; using System.Collections.Generic; +using System.Linq; using System.Net.Http; using System.Threading.Tasks; using Timeline.Models; @@ -461,7 +462,33 @@ namespace Timeline.Tests.IntegratedTests Time = createRes2.Time }); } - // TODO! Add post not exist tests. + } + } + + [Fact] + public async Task GetPost_Should_Ordered() + { + using var client = await CreateClientAsUser(); + + async Task<long> CreatePost(DateTime time) + { + var res = await client.PostAsJsonAsync("users/user/timeline/postop/create", + new TimelinePostCreateRequest { Content = "aaa", Time = time }); + return res.Should().HaveStatusCode(200) + .And.HaveJsonBody<TimelinePostCreateResponse>() + .Which.Id; + } + + var now = DateTime.Now; + var id0 = await CreatePost(now.AddDays(1)); + var id1 = await CreatePost(now.AddDays(-1)); + var id2 = await CreatePost(now); + + { + var res = await client.GetAsync("users/user/timeline/posts"); + res.Should().HaveStatusCode(200) + .And.HaveJsonBody<TimelinePostInfo[]>() + .Which.Select(p => p.Id).Should().Equal(id1, id2, id0); } } } |