public void NewPost_WithNullCategories_DoesNotTHrowException()
{
//arrange
var blog = new Blog { Id = 42, UserName = "******", Password = "******", AllowServiceAccess = true, Host = "localhost" };
var subtextContext = new Mock<ISubtextContext>();
subtextContext.Setup(c => c.Blog).Returns(blog);
Entry publishedEntry = null;
var entryPublisher = new Mock<IEntryPublisher>();
entryPublisher.Setup(publisher => publisher.Publish(It.IsAny<Entry>())).Returns(42).Callback<Entry>(
entry => publishedEntry = entry);
var api = new MetaWeblog(subtextContext.Object, entryPublisher.Object);
var post = new Post
{
categories = null,
description = "A unit test",
title = "A unit testing title",
dateCreated = DateTime.UtcNow
};
// act
string result = api.newPost(blog.Id.ToString(CultureInfo.InvariantCulture), "username", "password", post,
true);
// assert
int entryId = int.Parse(result);
Assert.AreEqual(42, entryId);
Assert.AreEqual(0, publishedEntry.Categories.Count, "Should not have added categories.");
}