Example #1
0
        public void TestAddEntryToLog_ShouldCallServiceAddEntryToLog(string content, int logId)
        {
            // Arrange
            var mockedLogService       = new Mock <ILogService>();
            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();

            var entry = new LogEntry();

            var mockedFactory = new Mock <ILogEntryFactory>();

            mockedFactory.Setup(f => f.CreateLogEntry(It.IsAny <string>(), It.IsAny <DateTime>(), It.IsAny <int>()))
            .Returns(entry);

            var mockedRepository = new Mock <IRepository <LogEntry> >();
            var mockedUnitOfWork = new Mock <IUnitOfWork>();

            var service = new EntryService(mockedLogService.Object,
                                           mockedDateTimeProvider.Object,
                                           mockedFactory.Object,
                                           mockedRepository.Object,
                                           mockedUnitOfWork.Object);

            // Act
            service.AddEntryToLog(content, logId, null);


            // Assert
            mockedLogService.Verify(s => s.AddEntryToLog(logId, entry, null), Times.Once);
        }
Example #2
0
        public void TestAddEntryToLog_ShouldCallFactoryCreateLogEntry(string content, int logId)
        {
            // Arrange
            var mockedLogService = new Mock <ILogService>();

            var date = new DateTime();

            var mockedDateTimeProvider = new Mock <IDateTimeProvider>();

            mockedDateTimeProvider.Setup(p => p.GetCurrentTime())
            .Returns(date);

            var mockedFactory    = new Mock <ILogEntryFactory>();
            var mockedRepository = new Mock <IRepository <LogEntry> >();
            var mockedUnitOfWork = new Mock <IUnitOfWork>();

            var service = new EntryService(mockedLogService.Object,
                                           mockedDateTimeProvider.Object,
                                           mockedFactory.Object,
                                           mockedRepository.Object,
                                           mockedUnitOfWork.Object);

            // Act
            service.AddEntryToLog(content, logId, null);

            // Assert
            mockedFactory.Verify(f => f.CreateLogEntry(content, date, logId), Times.Once);
        }