2024-04-12 19:31:56 -05:00
|
|
|
namespace Blog.Tests.EndToEnd;
|
|
|
|
|
|
|
|
|
|
[TestFixture]
|
|
|
|
|
public class RssTests : BlogTest
|
|
|
|
|
{
|
|
|
|
|
[Test]
|
2024-04-13 12:57:10 -05:00
|
|
|
public async Task Rss_WhenFetched_ItShouldReturnRssFeed()
|
2024-04-12 19:31:56 -05:00
|
|
|
{
|
|
|
|
|
var response = await Page.APIRequest.GetAsync("/rss");
|
|
|
|
|
response.Status.Should().Be((int)HttpStatusCode.OK);
|
|
|
|
|
|
|
|
|
|
var xml = await response.BodyAsync();
|
2024-04-12 19:33:56 -05:00
|
|
|
|
2024-04-12 19:31:56 -05:00
|
|
|
var streamReader = new StreamReader(
|
2024-04-12 19:33:56 -05:00
|
|
|
new MemoryStream(xml),
|
2024-04-12 19:31:56 -05:00
|
|
|
Encoding.UTF8
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var settings = new XmlReaderSettings
|
|
|
|
|
{
|
|
|
|
|
Async = true
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
using var xmlReader = XmlReader.Create(streamReader, settings);
|
|
|
|
|
var feed = SyndicationFeed.Load(xmlReader);
|
2024-04-18 22:24:12 -05:00
|
|
|
|
2024-04-12 19:31:56 -05:00
|
|
|
feed.Title.Text.Should().Be("journal");
|
|
|
|
|
feed.Description.Text.Should().Be("A blog by Stevan Freeborn");
|
|
|
|
|
feed.Items.Should().HaveCount(2);
|
|
|
|
|
}
|
|
|
|
|
}
|