public void MultimediaLinkService_Delete_Calls_UnitOfWork_Commit_Method()
        {
            // Create test data
            var newMultimediaLink = new MultimediaLink
                                            {
                                                File = "Foo"
                                            };

            //Create Mock
            _mockUnitOfWork = new Mock<IUnitOfWork>();
            var mockRepository = new Mock<IRepository<MultimediaLink>>();
            _mockUnitOfWork.Setup(d => d.GetRepository<MultimediaLink>()).Returns(mockRepository.Object);

            //Arrange
            _service = new MultimediaLinkService(_mockUnitOfWork.Object);

            //Act
            _service.Delete(newMultimediaLink);

            //Assert
            _mockUnitOfWork.Verify(d => d.Commit());
        }
        public void MultimediaLinkService_Delete_Throws_On_Null_MultimediaLink()
        {
            //Arrange
            _mockUnitOfWork = new Mock<IUnitOfWork>();
            _service = new MultimediaLinkService(_mockUnitOfWork.Object);

            //Assert
            Assert.Throws<ArgumentNullException>(() => _service.Delete(null));
        }
        public void MultimediaLinkService_Delete_Calls_Repsoitory_Delete_Method_With_The_Same_MultimediaLink_Object_It_Recieved()
        {
            // Create test data
            var newMultimediaLink = new MultimediaLink
                                            {
                                                File = "Foo"
                                            };

            //Create Mock
            _mockUnitOfWork = new Mock<IUnitOfWork>();
            var mockRepository = new Mock<IRepository<MultimediaLink>>();
            _mockUnitOfWork.Setup(d => d.GetRepository<MultimediaLink>()).Returns(mockRepository.Object);

            //Arrange
            _service = new MultimediaLinkService(_mockUnitOfWork.Object);

            //Act
            _service.Delete(newMultimediaLink);

            //Assert
            mockRepository.Verify(r => r.Delete(newMultimediaLink));
        }