Fix blog comment endpoint path and add regression test
This commit is contained in:
parent
0d3fbf22c3
commit
0fd9e40d67
4 changed files with 41 additions and 5 deletions
|
|
@ -183,6 +183,42 @@ public sealed class BlogApiTests : IClassFixture<BlogsWebServerFixture>
|
|||
Assert.Equal("tester", doc.RootElement[0].GetProperty("authorId").GetString());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task PostBlogComment_returns_201_for_existing_post()
|
||||
{
|
||||
ResetDatabase();
|
||||
using var http = NewClient(subject: "tester");
|
||||
|
||||
var draft = new BlogPost
|
||||
{
|
||||
Id = 0,
|
||||
Title = "Billet commentable",
|
||||
AuthorId = "payload-attacker",
|
||||
Article = "Contenu de test.",
|
||||
DateCreated = DateTime.UtcNow,
|
||||
DateModified = DateTime.UtcNow
|
||||
};
|
||||
|
||||
var postResponse = await http.PostAsJsonAsync("/api/v1/blog", draft);
|
||||
Assert.Equal(HttpStatusCode.Created, postResponse.StatusCode);
|
||||
|
||||
var createdPost = await postResponse.Content.ReadFromJsonAsync<BlogPost>();
|
||||
Assert.NotNull(createdPost);
|
||||
|
||||
var commentResponse = await http.PostAsJsonAsync("/api/v1/blogcomments", new
|
||||
{
|
||||
Article = "Premier commentaire",
|
||||
ReceiverId = createdPost!.Id
|
||||
});
|
||||
|
||||
Assert.Equal(HttpStatusCode.Created, commentResponse.StatusCode);
|
||||
|
||||
using var doc = JsonDocument.Parse(await commentResponse.Content.ReadAsStringAsync());
|
||||
Assert.True(doc.RootElement.TryGetProperty("id", out var id));
|
||||
Assert.True(id.GetInt64() > 0);
|
||||
Assert.True(doc.RootElement.TryGetProperty("dateCreated", out _));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetUserId_reads_NameIdentifier_when_sub_was_mapped()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue