public void TermController_AddTermToContent_Should_Call_DataService_If_Valid_Params() { //Arrange var mockDataService = new Mock <IDataService>(); var termController = new TermController(mockDataService.Object); ContentItem content = ContentTestHelper.CreateValidContentItem(); Term term = ContentTestHelper.CreateValidSimpleTerm(Constants.VOCABULARY_ValidVocabularyId); // Act termController.AddTermToContent(term, content); // Assert mockDataService.Verify(ds => ds.AddTermToContent(term, content)); }
public void ContentController_DeleteMetaData_Calls_DataService_On_Valid_Arguments() { // Arrange Mock <IDataService> mockDataService = new Mock <IDataService>(); ContentController controller = new ContentController(mockDataService.Object); ContentItem content = ContentTestHelper.CreateValidContentItem(); content.ContentItemId = Constants.CONTENT_ValidContentItemId; // Act controller.DeleteMetaData(content, Constants.CONTENT_ValidMetaDataName, Constants.CONTENT_ValidMetaDataValue); // Assert mockDataService.Verify(ds => ds.DeleteMetaData(content, Constants.CONTENT_ValidMetaDataName, Constants.CONTENT_ValidMetaDataValue)); }
public void ContentController_DeleteContentItem_Calls_DataService_On_Valid_ContentItemId() { // Arrange Mock <IDataService> mockDataService = new Mock <IDataService>(); ContentController controller = new ContentController(mockDataService.Object); ContentItem content = ContentTestHelper.CreateValidContentItem(); content.ContentItemId = Constants.CONTENT_DeleteContentItemId; // Act controller.DeleteContentItem(content); // Assert mockDataService.Verify(ds => ds.DeleteContentItem(content.ContentItemId)); }
public void ContentController_Title_Is_Saved_On_Update() { var mockDataService = new Mock <IDataService>(); mockDataService.Setup(ds => ds.AddContentItem(It.IsAny <ContentItem>(), It.IsAny <int>())) .Returns(Constants.CONTENT_AddContentItemId); mockDataService.Setup(ds => ds.SynchronizeMetaData( It.IsAny <ContentItem>(), It.IsAny <IEnumerable <KeyValuePair <string, string> > >(), It.IsAny <IEnumerable <KeyValuePair <string, string> > >())) .Callback <ContentItem, IEnumerable <KeyValuePair <string, string> >, IEnumerable <KeyValuePair <string, string> > >( (ci, added, deleted) => { deleted.ToList().ForEach( item => mockDataService.Object.DeleteMetaData(ci, item.Key, item.Value)); added.ToList().ForEach( item => mockDataService.Object.AddMetaData(ci, item.Key, item.Value)); }); // Return empty set of metadata. mockDataService.Setup(ds => ds.GetMetaData(It.IsAny <int>())).Returns(MockHelper.CreateValidMetaDataReader); var controller = new ContentController(mockDataService.Object); // The ContentExtensions methods look this up. ComponentFactory.RegisterComponentInstance <IContentController>(controller); var content = ContentTestHelper.CreateValidContentItem(); content.ContentItemId = Constants.CONTENT_ValidContentItemId; content.ContentTitle = Constants.CONTENT_ValidTitle; // Act controller.AddContentItem(content); content.ContentTitle = Constants.CONTENT_ValidTitle2; controller.UpdateContentItem(content); // Assert mockDataService.Verify(ds => ds.AddMetaData(content, AttachmentController.TitleKey, Constants.CONTENT_ValidTitle)); mockDataService.Verify(ds => ds.AddMetaData(content, AttachmentController.TitleKey, Constants.CONTENT_ValidTitle2)); }
public void ContentController_AddContentItem_Calls_DataService_On_Valid_Arguments() { // Arrange Mock <IDataService> mockDataService = new Mock <IDataService>(); ContentController controller = new ContentController(mockDataService.Object); ComponentFactory.RegisterComponentInstance <IContentController>(controller); ContentItem content = ContentTestHelper.CreateValidContentItem(); content.ContentItemId = Constants.CONTENT_ValidContentItemId; // Act int contentId = controller.AddContentItem(content); // Assert mockDataService.Verify(ds => ds.AddContentItem(content, It.IsAny <int>())); }
public void ContentController_AddContentItem_Returns_ValidId_On_Valid_ContentItem() { // Arrange Mock <IDataService> mockDataService = new Mock <IDataService>(); mockDataService.Setup(ds => ds.AddContentItem(It.IsAny <ContentItem>(), It.IsAny <int>())).Returns(Constants.CONTENT_AddContentItemId); ContentController controller = new ContentController(mockDataService.Object); ComponentFactory.RegisterComponentInstance <IContentController>(controller); ContentItem content = ContentTestHelper.CreateValidContentItem(); content.ContentItemId = Constants.CONTENT_ValidContentItemId; // Act int contentId = controller.AddContentItem(content); // Assert Assert.AreEqual(Constants.CONTENT_AddContentItemId, contentId); }
public void Set_MetaData_To_Same_Value_Doesnt_Update_Database_Entry() { var metadata = new Dictionary <string, string>(); var dataService = DataServiceFactoryWithLocalMetaData(ref metadata); var contentController = Util.GetContentController(); var contentItem = ContentTestHelper.CreateValidContentItem(); contentController.AddContentItem(contentItem); dataService.Verify(ds => ds.AddMetaData(contentItem, FileController.TitleKey, It.IsAny <string>()), Times.Never()); dataService.Verify(ds => ds.DeleteMetaData(contentItem, FileController.TitleKey, It.IsAny <string>()), Times.Never()); contentItem.ContentTitle = "Foobar"; contentController.UpdateContentItem(contentItem); dataService.Verify(ds => ds.AddMetaData(contentItem, FileController.TitleKey, It.IsAny <string>()), Times.Once()); dataService.Verify(ds => ds.DeleteMetaData(contentItem, FileController.TitleKey, It.IsAny <string>()), Times.Never()); contentItem.ContentTitle = "Foobar"; contentController.UpdateContentItem(contentItem); // Should be a no-op since no real data changed dataService.Verify(ds => ds.AddMetaData(contentItem, FileController.TitleKey, It.IsAny <string>()), Times.Once()); dataService.Verify(ds => ds.DeleteMetaData(contentItem, FileController.TitleKey, It.IsAny <string>()), Times.Never()); // Really update contentItem.ContentTitle = "SNAFU"; contentController.UpdateContentItem(contentItem); dataService.Verify(ds => ds.AddMetaData(contentItem, FileController.TitleKey, It.IsAny <string>()), Times.Exactly(2)); dataService.Verify(ds => ds.DeleteMetaData(contentItem, FileController.TitleKey, It.IsAny <string>()), Times.Once()); }
public void ContentController_AddContentItem_Sets_Override_CreatedByUserId_And_LastModifiedUserId() { // Arrange int expectedUserId = 5; Mock <IUserController> mockUserController = new Mock <IUserController>(); mockUserController.Setup(user => user.GetCurrentUserInfo()).Returns(new UserInfo { UserID = expectedUserId }); UserController.SetTestableInstance(mockUserController.Object); Mock <ICBO> mockCBO = new Mock <ICBO>(); CBO.SetTestableInstance(mockCBO.Object); Mock <IDataService> mockDataService = new Mock <IDataService>(); mockDataService.Setup(ds => ds.AddContentItem(It.IsAny <ContentItem>(), It.IsAny <int>())).Returns(Constants.CONTENT_AddContentItemId); ContentController controller = new ContentController(mockDataService.Object); ComponentFactory.RegisterComponentInstance <IContentController>(controller); ContentItem content = ContentTestHelper.CreateValidContentItem(); content.ContentItemId = Constants.CONTENT_ValidContentItemId; // Act int contentId = controller.AddContentItem(content); // Assert mockDataService.Verify( service => service.AddContentItem(It.IsAny <ContentItem>(), expectedUserId), Times.Once); // Cleanup UserController.ClearInstance(); CBO.ClearInstance(); }
public void ContentController_AddContentItem_Sets_CreatedByUserId_And_LastModifiedUserId() { // Arrange Mock <IDataService> mockDataService = new Mock <IDataService>(); mockDataService.Setup(ds => ds.AddContentItem(It.IsAny <ContentItem>(), It.IsAny <int>())).Returns(Constants.CONTENT_AddContentItemId); ContentController controller = new ContentController(mockDataService.Object); ComponentFactory.RegisterComponentInstance <IContentController>(controller); ContentItem content = ContentTestHelper.CreateValidContentItem(); content.ContentItemId = Constants.CONTENT_ValidContentItemId; content.CreatedByUserID = 1; // Act int contentId = controller.AddContentItem(content); // Assert mockDataService.Verify( service => service.AddContentItem(It.IsAny <ContentItem>(), content.CreatedByUserID), Times.Once); }