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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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>()));
        }
Ejemplo n.º 6
0
        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());
        }
Ejemplo n.º 8
0
        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();
        }
Ejemplo n.º 9
0
        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);
        }