public void ShouldConnectToDatabase()
        {
            #region Arrange

            var logToFile = false;
            var logToConsole = false;
            var logToDatabase = true;

            var mock = new Mock<ISqlConnections>();

            #endregion

            #region Act

            var jobLogger = new JobLogger(logToFile, logToConsole, logToDatabase);

            jobLogger.sqlConnections = mock.Object;

            var command = string.Format("Insert into Log Values('{0}', {1})", Constants.MESSAGE_LOG, LogType.Message);

            jobLogger.LogMessage(Constants.MESSAGE_LOG, LogType.Message);

            #endregion

            #region Assert

            mock.Verify(sql => sql.LogInDatabase(command), Times.Exactly(1));

            #endregion
        }
        public void LoggerShouldLogWarningInFile()
        {
            #region Arrange

            var logToFile = true;
            var logToConsole = false;
            var logToDatabase = false;

            var expectedMessage = string.Format("{0} -- {1}_LogMessage: {2}", string.Empty, todayDate, Constants.WARNING_LOG);

            var jobLogger = new JobLogger(logToFile, logToConsole, logToDatabase);

            #endregion

            #region Act

            jobLogger.LogMessage(Constants.WARNING_LOG, LogType.Warning);

            var actualMessage = fileManager.ReadFile(logDirectory, todayDate);

            #endregion

            #region Assert

            Assert.AreEqual(expectedMessage, actualMessage);

            #endregion
        }
        public void LoggerShouldLogWarningInConsole()
        {
            #region Arrange

            var currentConsoleOut = Console.Out;

            var logToFile = false;
            var logToConsole = true;
            var logToDatabase = false;

            var expectedMessage = string.Format("{0} Log Message: {1}", todayDate, Constants.WARNING_LOG);

            var jobLogger = new JobLogger(logToFile, logToConsole, logToDatabase);

            #endregion

            #region Act

            var actualMessage = string.Empty;

            using (var consoleOutput = new ConsoleOutput())
            {
                jobLogger.LogMessage(Constants.WARNING_LOG, LogType.Warning);

                actualMessage = consoleOutput.GetOuput().Replace("\r\n", string.Empty);
            }

            #endregion

            #region Assert

            Assert.AreEqual(expectedMessage, actualMessage);

            #endregion
        }
        public void LoggerShouldReturnFileExceptionBecauseOfInvalidConfiguration()
        {
            #region Arrange

            var logToFile = false;
            var logToConsole = false;
            var logToDatabase = false;

            var jobLogger = new JobLogger(logToFile, logToConsole, logToDatabase);

            #endregion

            #region Act

            jobLogger.LogMessage(Constants.MESSAGE_LOG, LogType.Message);

            #endregion
        }
        public void LoggerShouldReturnFileExceptionBecauseOfEmptyMessage()
        {
            #region Arrange

            var logToFile = false;
            var logToConsole = true;
            var logToDatabase = false;
            
            var jobLogger = new JobLogger(logToFile, logToConsole, logToDatabase);

            #endregion

            #region Act

            jobLogger.LogMessage(string.Empty, LogType.Error);

            #endregion
        }