public async void initialize()
        {
            view = new ConsoleView();
            view.ShowLoading();
            var data = await FakeTaskManager.fetchDataAsync();

            view.HideLoading();
            view.ShowData(data);
        }
示例#2
0
        public void LogTime_FailedOnDBSave_LogException_Success()
        {
            FakeUserLogger      userLogger  = new FakeUserLogger();
            FakeTaskManager     taskManager = new FakeTaskManager();
            FakeTaskAlwaysFalse task        = new FakeTaskAlwaysFalse();
            FakeErrorLogger     errorLogger = new FakeErrorLogger();

            TimeLogger time = new TimeLogger(userLogger, taskManager, task, null, errorLogger);

            var ex = Assert.Throws <Exception>(() => time.LogTime(2, 30, "Working on TimesheetApp"));

            Assert.That(ex.Message, Is.EqualTo(errorLogger.Error.Message));
        }
示例#3
0
        public void LogTime_ValidInput_Success()
        {
            FakeUserLogger     userLogger  = new FakeUserLogger();
            FakeTaskManager    taskManager = new FakeTaskManager();
            FakeTaskAlwaysTrue task        = new FakeTaskAlwaysTrue();
            FakeEmailSender    emailSender = new FakeEmailSender();

            TimeLogger time = new TimeLogger(userLogger, taskManager, task, emailSender, null);

            time.LogTime(2, 30, "Working on TimesheetApp");

            StringAssert.Contains("Time logged successfully", emailSender.Title);
        }
示例#4
0
        public void LogTime_SendEmailError_BadData_Fail()
        {
            FakeUserLogger userLogger = new FakeUserLogger();

            userLogger.badEmail = "*****@*****.**";
            FakeTaskManager    taskManager = new FakeTaskManager();
            FakeTaskAlwaysTrue task        = new FakeTaskAlwaysTrue();
            IEmailSender       emailSender = Substitute.For <IEmailSender>();

            TimeLogger time = new TimeLogger(userLogger, taskManager, task, emailSender, null);

            time.LogTime(2, 30, "Working on TimesheetApp");

            emailSender.DidNotReceive().SendEmail("*****@*****.**", "Time logged successfully", "2 hours and 30 minutes successfully logged to task with ID=100");
        }
示例#5
0
        public void LogTime_GetTaskDataError_LogError_Fail()
        {
            string          errorMsg    = "Failed to get the task info";
            FakeUserLogger  userLogger  = new FakeUserLogger();
            FakeTaskManager taskManager = new FakeTaskManager();
            FakeErrorLogger errorLogger = new FakeErrorLogger();

            taskManager.ExceptionWillOccur = new Exception(errorMsg);

            TimeLogger time = new TimeLogger(userLogger, taskManager, null, null, errorLogger);

            var ex = Assert.Throws <Exception>(() => time.LogTime(2, 30, "Working on TimesheetApp"));

            Assert.That(ex.Message, Is.EqualTo(errorMsg));
            Assert.AreEqual(ex, errorLogger.Error);
        }