public void ContentBlockController_InitializeCommandsForNotSharedContent_EnsureCommandsAreCorrectly() { // Arrange: Register the ContentBlockResources and a dummy Config provider using (new ObjectFactoryContainerRegion()) { this.RegisterResourceClasses(); // Act:Instantiate a controller and initialize the commands using (var controller = new DummyContentBlockController()) { var commands = controller.InitializeCommands(); // Assert:Ensures the commands list is properly created Assert.IsTrue(commands.Count >= 5, "Commands are less then expected."); Assert.IsTrue(commands.Where(c => c.Text == Res.Get<Labels>().Delete).Count() == 1, "Commands list does not contain the Delete command."); Assert.IsTrue(commands.Where(c => c.Text == Res.Get<Labels>().Duplicate).Count() == 1, "Commands list does not contain the Duplicate command."); Assert.IsTrue(commands.Where(c => c.Text == Res.Get<ContentBlockResources>().Share).Count() == 1, "Commands list does not contain the Share command."); Assert.IsTrue(commands.Where(c => c.Text == Res.Get<ContentBlockResources>().UseShared).Count() == 1, "Commands list does not contain the Delete command."); Assert.IsTrue(commands.Where(c => c.Text == Res.Get<Labels>().Permissions).Count() == 1, "Commands list does not contain the Delete command."); } } }
public void CreateContentBlockController_CallTheIndexAction_EnsuresTheModelIsProperlyCreated() { // Arrange: Create a dummy controller and set fake property values using (new ObjectFactoryContainerRegion()) { this.RegisterResourceClasses(); using (var controller = new DummyContentBlockController()) { controller.Content = "Fake controller"; controller.ProviderName = "Fake provider"; controller.SharedContentID = Guid.NewGuid(); controller.EnableSocialSharing = true; // Act: Call the Index action and get the model from the ActionResult var res = controller.Index() as ViewResult; var model = res.Model; var contentBlockModel = model as IContentBlockModel; // Assert: ensures the model is properly created and all its properties are properly populated Assert.IsNotNull(contentBlockModel, "The model is null or its not implementing the IContentBlockInterface"); Assert.AreEqual(controller.Content, contentBlockModel.Content, "The Content property of the model is not properly set"); Assert.AreEqual(controller.ProviderName, contentBlockModel.ProviderName, "The provider name is not properly set"); Assert.AreEqual(controller.SharedContentID, contentBlockModel.SharedContentID, "The Id of the shared content item is not properly set"); Assert.AreEqual(controller.EnableSocialSharing, contentBlockModel.EnableSocialSharing, "The indicator which shows if the content block allows the social share options is not properly set"); } } }
public void CreateContentBlockController_IndexAction_EnsuresTheActionUsesTheRightViewName() { // Arrange: Create a dummy controller and set fake property values using (new ObjectFactoryContainerRegion()) { this.RegisterResourceClasses(); using (var controller = new DummyContentBlockController()) { controller.Content = "Fake controller"; controller.ProviderName = "Fake provider"; controller.SharedContentID = Guid.NewGuid(); controller.EnableSocialSharing = true; // Act: Call the Index action and get the model from the ActionResult var res = controller.Index() as ViewResult; var viewName = res.ViewName; // Assert: the action uses the right view name Assert.AreEqual(viewName, "Default", "The requested view does not have the right name"); } } }