Files
blog.stevanfreeborn.com/test/Blog.Tests/EndToEnd/RssTests.cs
T

37 lines
869 B
C#

using System.ServiceModel.Syndication;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace Blog.Tests.EndToEnd;
[TestFixture]
public class RssTests : BlogTest
{
[Test]
public async Task Task_Rss_WhenFetched_ItShouldReturnRssFeed()
{
var response = await Page.APIRequest.GetAsync("/rss");
response.Status.Should().Be((int)HttpStatusCode.OK);
var xml = await response.BodyAsync();
var streamReader = new StreamReader(
new MemoryStream(xml),
Encoding.UTF8
);
var settings = new XmlReaderSettings
{
Async = true
};
using var xmlReader = XmlReader.Create(streamReader, settings);
var feed = SyndicationFeed.Load(xmlReader);
feed.Title.Text.Should().Be("journal");
feed.Description.Text.Should().Be("A blog by Stevan Freeborn");
feed.Items.Should().HaveCount(2);
}
}