From 0b77c676b81d7340560b22fc6609740df98e9141 Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 18 Nov 2019 19:43:33 +0800 Subject: Continue to write tests. --- .../IntegratedTests/PersonalTimelineTest.cs | 49 ++++++++++++++++++++++ Timeline/Models/Timeline.cs | 1 - Timeline/Services/TimelineService.cs | 2 +- 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs b/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs index aaa6215c..2e5b86fa 100644 --- a/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs +++ b/Timeline.Tests/IntegratedTests/PersonalTimelineTest.cs @@ -23,6 +23,55 @@ namespace Timeline.Tests.IntegratedTests } + [Fact] + public async Task TimelineGet_Should_Work() + { + using var client = Factory.CreateDefaultClient(); + var res = await client.GetAsync("users/user/timeline"); + var body = res.Should().HaveStatusCode(200) + .And.HaveJsonBody().Which; + body.Owner.Should().Be("user"); + body.Visibility.Should().Be(TimelineVisibility.Register); + body.Description.Should().Be(""); + body.Members.Should().NotBeNull().And.BeEmpty(); + } + + [Fact] + public async Task Description_Should_Work() + { + using var client = await Factory.CreateClientAsUser(); + + async Task AssertDescription(string description) + { + var res = await client.GetAsync("users/user/timeline"); + var body = res.Should().HaveStatusCode(200) + .And.HaveJsonBody() + .Which.Description.Should().Be(description); + } + + const string mockDescription = "haha"; + + await AssertDescription(""); + { + var res = await client.PostAsJsonAsync("users/user/timeline/op/property", + new TimelinePropertyChangeRequest { Description = mockDescription }); + res.Should().HaveStatusCode(200); + await AssertDescription(mockDescription); + } + { + var res = await client.PostAsJsonAsync("users/user/timeline/op/property", + new TimelinePropertyChangeRequest { Description = null }); + res.Should().HaveStatusCode(200); + await AssertDescription(mockDescription); + } + { + var res = await client.PostAsJsonAsync("users/user/timeline/op/property", + new TimelinePropertyChangeRequest { Description = "" }); + res.Should().HaveStatusCode(200); + await AssertDescription(""); + } + } + [Fact] public async Task Member_Should_Work() { diff --git a/Timeline/Models/Timeline.cs b/Timeline/Models/Timeline.cs index 85fefff5..752c698d 100644 --- a/Timeline/Models/Timeline.cs +++ b/Timeline/Models/Timeline.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using Timeline.Entities; namespace Timeline.Models { diff --git a/Timeline/Services/TimelineService.cs b/Timeline/Services/TimelineService.cs index 1d199aae..1e64353c 100644 --- a/Timeline/Services/TimelineService.cs +++ b/Timeline/Services/TimelineService.cs @@ -717,7 +717,7 @@ namespace Timeline.Services return new BaseTimelineInfo { - Description = timelineEntity.Description, + Description = timelineEntity.Description ?? "", Owner = username, Visibility = timelineEntity.Visibility, Members = memberUsernames.ToList() -- cgit v1.2.3