using System.Collections.Specialized; using Moq; using NUnit.Framework; using NUnit.Framework.SyntaxHelpers; using Website; using Website.Controllers.Administration; namespace UnitTests.Controllers { [TestFixture] public class ContentAdministrationControllerTests : ContentDrivenControllerTester { [Test] public void Create() { var controller = new ContentAdministrationController(ContentProvider); var result = controller.Create("testPage"); result.AssertViewName("Create"); result.AssertViewData("PageName", "testPage"); } [Test] public void SaveNew() { // Expect a save mockContentProvider.Expect(p => p.Save( It.Is(c => c.Title == "Title" && c.Text == "Text"))); // Create the form data that will be passed to the controller. // This represents the data that the user has submitted. var formData = New.FormData(new NameValueCollection { { "Title", "Title" }, { "Text", "Text" } }); var tempData = New.TempData(); // Create an instance of the controller with our custom form data // as well as temp data var controller = new ContentAdministrationController(ContentProvider) { FormData = formData, TempData = tempData }; var result = controller.SaveNew(); result.AssertViewName("Edit"); Assert.That(tempData["SuccessMessage"], Is.Not.Null); mockContentProvider.VerifyAll(); } } }