public void WhenConfirmDataCalledAfterIndexShouldReturnTaskListViewModelWithDataNotConfirmed()
        {
            var context       = new Mock <HttpContext>();
            var schoolService = new Mock <ISchoolService>();
            var config        = new Mock <IConfiguration>();

            var httpRequest = new Mock <HttpRequest>();

            httpRequest.Setup(x => x.RouteValues).Returns(new RouteValueDictionary {
                { "phase", "ks5" }
            });

            schoolService.Setup(x => x.UpdateConfirmation(It.IsAny <TaskListViewModel>(), It.IsAny <string>(), It.IsAny <string>()));

            context.Setup(x => x.Session).Returns(Session);
            context.Setup(x => x.Request).Returns(httpRequest.Object);

            var controller = new TaskListController(schoolService.Object, config.Object, GetUserInfo())
            {
                ControllerContext = GetControllerContext("ks5", context)
            };

            controller.Index();
            var result = controller.ConfrimData() as RedirectToActionResult;

            var viewModel = Session.Get <TaskListViewModel>($"task-list-{UserId}KS5");

            Assert.True(viewModel != null);
            Assert.True(viewModel.DataConfirmed == false);
        }
        public void Create_Task_Model_isInvalid()
        {
            #region Arrange
            TaskListModel mockTaskList = new TaskListModel
            {
                ID              = 1,
                TaskCompleted   = false,
                TaskDescription = null
            };

            this.mockContext.SetupGet(x => x.Request).Returns(this.mockRequest.Object);
            this.mockContext.SetupGet(x => x.Response).Returns(this.mockResponse.Object);
            mockContext.Setup(x => x.Session["InMemoryTaskList"]).Returns(null);
            var mockControllerContext = new RequestContext(this.mockContext.Object, new RouteData());

            TaskListController controller = new TaskListController();
            controller.tasklist          = mockTasklist.Object;
            controller.ControllerContext = new ControllerContext(mockControllerContext, controller);
            controller.ViewData.ModelState.AddModelError("TaskDescription", "Please specify a task description before submitting again");
            #endregion

            #region Act
            var result    = (ViewResult)controller.Create(mockTaskList);
            var viewModel = controller.ViewData.Model as TaskListModel;
            #endregion

            #region Assert
            Assert.IsFalse(result.ViewData.ModelState.IsValid);
            Assert.IsNull(controller.HttpContext.Session["InMemoryTaskList"]);
            #endregion
        }
        public void Index_with_1_Task_in_List()
        {
            #region Arrange
            List <TaskDetailsModel> mockTaskList    = new List <TaskDetailsModel>();
            TaskDetailsModel        mockTaskDetails = new TaskDetailsModel
            {
                ID              = 1,
                TaskCompleted   = false,
                TaskDescription = HttpUtility.HtmlEncode("Mocked Task")
            };
            TaskListModel mockTaskListModel = new TaskListModel();
            mockTaskList.Add(mockTaskDetails);

            this.mockContext.SetupGet(x => x.Request).Returns(this.mockRequest.Object);
            this.mockContext.SetupGet(x => x.Response).Returns(this.mockResponse.Object);
            mockContext.Setup(x => x.Session["InMemoryTaskList"]).Returns(mockTaskListModel);
            var mockControllerContext = new RequestContext(this.mockContext.Object, new RouteData());

            TaskListController controller = new TaskListController();
            controller.tasklist          = mockTasklist.Object;
            controller.ControllerContext = new ControllerContext(mockControllerContext, controller);
            this.mockTasklist.Setup(c => c.GetAllTasks()).Returns(mockTaskList);
            #endregion

            #region Act
            var result    = (ActionResult)controller.Index();
            var viewModel = controller.ViewData.Model as TaskListModel;
            #endregion

            #region Assert
            this.mockTasklist.Verify(c => c.GetAllTasks(), Times.Once());
            Assert.IsNotNull(controller.HttpContext.Session["InMemoryTaskList"]);
            Assert.AreEqual(1, mockTaskList.Count);
            #endregion
        }
Example #4
0
        public TaskListView(TaskListController controller)
        {
            InitializeComponent();

            //this.controller = controller;
            controller.OnLoad();
            this.taskListControllerBindingSource.DataSource = controller;
        }
Example #5
0
        private void OnApplicationStartup(object sender, StartupEventArgs e)
        {
            CreateMappings();

            var taskServiceAdo = new TaskServiceAdo();
            var mapper         = new MapperAutoMapper();
            var controller     = new TaskListController(taskServiceAdo, mapper, new ApplicationSettings());

            MainWindow = new TaskListView(controller);
            MainWindow.Show();

            controller.OnLoad();
        }
        public void Create_2nd_Task_Success()
        {
            #region Arrange
            List <TaskDetailsModel> mockTaskList       = new List <TaskDetailsModel>();
            TaskDetailsModel        mock1stTaskDetails = new TaskDetailsModel
            {
                ID              = 1,
                TaskCompleted   = false,
                TaskDescription = HttpUtility.HtmlEncode("Mocked Task")
            };

            TaskDetailsModel mock2ndTaskDetails = new TaskDetailsModel
            {
                ID              = 2,
                TaskCompleted   = false,
                TaskDescription = HttpUtility.HtmlEncode("2nd Mocked Task")
            };

            TaskListModel mockTaskListModel = new TaskListModel();
            mockTaskList.Add(mock1stTaskDetails);
            mockTaskListModel.ID              = mock2ndTaskDetails.ID;
            mockTaskListModel.TaskCompleted   = mock2ndTaskDetails.TaskCompleted;
            mockTaskListModel.TaskDescription = mock2ndTaskDetails.TaskDescription;
            mockTaskListModel.Tasks           = mockTaskList;

            this.mockContext.SetupGet(x => x.Request).Returns(this.mockRequest.Object);
            this.mockContext.SetupGet(x => x.Response).Returns(this.mockResponse.Object);
            mockContext.Setup(x => x.Session["InMemoryTaskList"]).Returns(mockTaskListModel);
            var mockControllerContext = new RequestContext(this.mockContext.Object, new RouteData());

            TaskListController controller = new TaskListController();
            controller.tasklist          = mockTasklist.Object;
            controller.ControllerContext = new ControllerContext(mockControllerContext, controller);
            this.mockTasklist.Setup(c => c.GetAllTasks()).Returns(mockTaskList);
            this.mockTasklist.Setup(c => c.GenerateNextIdNumber()).Returns(2);
            this.mockTasklist.Setup(c => c.Inserttask(mock2ndTaskDetails.ID, mock2ndTaskDetails.TaskDescription, mock2ndTaskDetails.TaskCompleted));
            #endregion

            #region Act
            var result    = (RedirectToRouteResult)controller.Create(mockTaskListModel);
            var viewModel = controller.ViewData.Model as TaskListModel;
            #endregion

            #region Assert
            this.mockTasklist.Verify(c => c.GetAllTasks(), Times.Once());
            this.mockTasklist.Verify(c => c.GenerateNextIdNumber(), Times.Once());
            this.mockTasklist.Verify(c => c.Inserttask(mock2ndTaskDetails.ID, mock2ndTaskDetails.TaskDescription, mock2ndTaskDetails.TaskCompleted), Times.Once());
            Assert.AreEqual(2, mock2ndTaskDetails.ID);
            Assert.IsNotNull(controller.HttpContext.Session["InMemoryTaskList"]);
            #endregion
        }
        public void Update_Task_Success()
        {
            #region Arrange
            List <TaskDetailsModel> mockTaskList    = new List <TaskDetailsModel>();
            TaskDetailsModel        mockTaskDetails = new TaskDetailsModel
            {
                ID              = 1,
                TaskCompleted   = false,
                TaskDescription = HttpUtility.HtmlEncode("Mocked Task")
            };
            TaskDetailsModel mock2ndTaskDetails = new TaskDetailsModel
            {
                ID              = 2,
                TaskCompleted   = false,
                TaskDescription = HttpUtility.HtmlEncode("2nd Mocked Task")
            };
            TaskListModel mockTaskListModel = new TaskListModel();
            mockTaskList.Add(mockTaskDetails);
            mockTaskList.Add(mock2ndTaskDetails);
            mockTaskListModel.Tasks = mockTaskList;

            this.mockContext.SetupGet(x => x.Request).Returns(this.mockRequest.Object);
            this.mockContext.SetupGet(x => x.Response).Returns(this.mockResponse.Object);
            mockContext.Setup(x => x.Session["InMemoryTaskList"]).Returns(mockTaskListModel);
            var mockControllerContext = new RequestContext(this.mockContext.Object, new RouteData());

            TaskListController controller = new TaskListController();
            controller.tasklist          = mockTasklist.Object;
            controller.ControllerContext = new ControllerContext(mockControllerContext, controller);
            this.mockTasklist.Setup(c => c.UpdateTask(mockTaskDetails.ID, true));
            #endregion

            #region Act
            var result = (JsonResult)controller.Update(mockTaskDetails.ID, true);
            #endregion

            #region Assert
            this.mockTasklist.Verify(c => c.UpdateTask(mockTaskDetails.ID, true), Times.Once());
            Assert.IsNotNull(result.Data);
            #endregion
        }
        public void WhenIndexCalledShouldReturnTaskListViewModelWithDataUnconfirmed()
        {
            var context       = new Mock <HttpContext>();
            var schoolService = new Mock <ISchoolService>();
            var config        = new Mock <IConfiguration>();

            schoolService.Setup(x => x.GetConfirmationRecord(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(new TaskListViewModel("ks5"));

            context.Setup(x => x.Session).Returns(Session);

            var controller = new TaskListController(schoolService.Object, config.Object, GetUserInfo())
            {
                ControllerContext = GetControllerContext("ks5", context)
            };

            var result = controller.Index() as ViewResult;
            var model  = result.Model as TaskListViewModel;

            Assert.True(model != null);
            Assert.True(model.DataConfirmed == false);
        }
Example #9
0
        private TaskListController ArrangeTestForNavigation()
        {
            var userMock = new Mock <IFlowUsersService>();
            var taskMock = new Mock <IFlowTasksService>();
            var docMock  = new Mock <IFlowDocsDocument>();

            var respTasks = new GetNextTasksForUserResponse();

            respTasks.Tasks = CreateTestTasks(10);

            var respProps = new GetPropertiesForTaskResponse();

            respProps.Properties = CreateTestProperties(1);

            var respCmt = new GetTraceForWorkflowResponse();

            respCmt.Traces = null;

            var respDomains = new GetDomainsForUserResponse();

            respDomains.Domains = new[] { "google" };

            taskMock.Setup(t => t.GetNextTasksForUser(Moq.It.IsAny <GetNextTasksForUserRequest>()))
            .Returns(respTasks);
            taskMock.Setup(t => t.GetTraceForWorkflow(Moq.It.IsAny <GetTraceForWorkflowRequest>()))
            .Returns(respCmt);
            taskMock.Setup(t => t.GetPropertiesForTask(Moq.It.IsAny <GetPropertiesForTaskRequest>()))
            .Returns(respProps);
            userMock.Setup(u => u.GetDomainsForUser(Moq.It.IsAny <GetDomainsForUserRequest>()))
            .Returns(respDomains);

            var sut = new TaskListController(userMock.Object, taskMock.Object, docMock.Object);

            sut.ControllerContext = MockUtil.GetMockedControllerContext();

            return(sut);
        }
Example #10
0
 public TaskListView(TaskListController controller)
 {
     InitializeComponent();
     DataContext = controller;
 }
Example #11
0
 private void CreateMocks()
 {
     _mockTaskListService = new Mock <ITaskListService>(MockBehavior.Strict);
     _taskListController  = new TaskListController(_mockTaskListService.Object);
 }
Example #12
0
 public void SetUp()
 {
     _taskRepository = MockRepository.GenerateStub <ITaskRepository>();
     _controller     = new TaskListController(_taskRepository);
 }