public ActionResult Raise(TaskRaiseEditViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                //todo: wrong do properly
                return(Raise());
            }

            var request = new RaiseTaskRequest
            {
                Description  = viewModel.Description,
                AssignedToId = viewModel.AssignedToId,
                TypeId       = viewModel.TypeId,
                UserName     = HttpContext.User.Identity.Name
            };

            var validationMessages = _taskService.ValidateRaise(request).ToList();

            if (validationMessages.Any())
            {
                validationMessages.ForEach(x => ModelState.AddModelError(x.Field, x.Text));
                return(Raise());
            }

            _taskService.Raise(request);

            return(RedirectToAction("/Index"));
        }
        public ActionResult Edit(TaskRaiseEditViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                //todo: worng do properly
                return(Raise());
            }

            //todo: refactor into mapper?

            var request = new EditTaskRequest
            {
                Id           = viewModel.TaskId.Value,
                Description  = viewModel.Description,
                AssignedToId = viewModel.AssignedToId,
                TypeId       = viewModel.TypeId,
                UserName     = HttpContext.User.Identity.Name
            };

            var validationMessages = _taskService.ValidateEdit(request).ToList();

            if (validationMessages.Any())
            {
                foreach (var validationMessage in validationMessages)
                {
                    ModelState.AddModelError(validationMessage.Field, validationMessage.Text);
                }

                return(Raise());
            }

            _taskService.Edit(request);

            return(RedirectToAction("/Index"));
        }
Beispiel #3
0
        public static TaskRaiseEditViewModel MapToViewModel(IEnumerable <User> users, IEnumerable <TaskType> taskTypes)
        {
            var viewModel = new TaskRaiseEditViewModel();

            viewModel.Assignees         = new SelectList(users, "Id", "Username");
            viewModel.TaskTypes         = new SelectList(taskTypes, "Id", "Description");
            viewModel.SubmitButtonTitle = "Create";
            return(viewModel);
        }
        //private User _user1;
        //private User _user2;
        //private List<User> _users;
        //private TaskType _taskType1;
        //private TaskType _taskType2;
        //private List<TaskType> _taskTypes;
        //private Mock<Task> _task1;
        //private Mock<Task> _task2;
        //private List<Task> _tasks;

        public TaskController GetController()
        {
            _principal         = new Mock <IPrincipal>();
            _identity          = new Mock <IIdentity>();
            _httpContext       = new Mock <HttpContextBase>();
            _controllerContext = new Mock <ControllerContext>();

            _taskService        = new Mock <ITaskService>();
            _userService        = new Mock <IUserService>();
            _taskRepository     = new Mock <ITaskRepository>();
            _taskTypeRepository = new Mock <ITaskTypeRepository>();
            _userRepository     = new Mock <IUserRepository>();

            _taskController = new TaskController(
                _taskService.Object,
                _userService.Object,
                _taskRepository.Object,
                _taskTypeRepository.Object,
                _userRepository.Object);

            _identity
            .SetupGet(x => x.Name)
            .Returns("Test Username 01");

            _principal
            .SetupGet(x => x.Identity)
            .Returns(_identity.Object);

            _httpContext
            .SetupGet(x => x.User)
            .Returns(_principal.Object);

            _controllerContext
            .SetupGet(x => x.HttpContext)
            .Returns(_httpContext.Object);


            _taskController.ControllerContext = _controllerContext.Object;

            var viewModel = new TaskRaiseEditViewModel
            {
                Description  = "Raise Description 01",
                AssignedToId = Guid.NewGuid(),
                TypeId       = Guid.NewGuid()
            };

            _taskService
            .Setup(x => x.ValidateRaise(It.IsAny <RaiseTaskRequest>()))
            .Returns(new ValidationMessageCollection());

            return(_taskController);
        }
Beispiel #5
0
        public static TaskRaiseEditViewModel MapToViewModel(Task task, IEnumerable <User> users, IEnumerable <TaskType> taskTypes)
        {
            var viewModel = new TaskRaiseEditViewModel();

            viewModel.Assignees         = new SelectList(users, "Id", "Username");
            viewModel.TaskTypes         = new SelectList(taskTypes, "Id", "Description");
            viewModel.TaskId            = task.Id;
            viewModel.Description       = task.Description;
            viewModel.AssignedToId      = task.AssignedTo != null ? task.AssignedTo.Id : null;
            viewModel.TypeId            = task.Type != null ? task.Type.Id : null;
            viewModel.SubmitButtonTitle = "Update";
            return(viewModel);
        }
        public void Given_valid_parameters_When_Raise_called_Then_calls_service_with_correct_parameters()
        {
            var taskService        = new Mock <ITaskService>();
            var userService        = new Mock <IUserService>();
            var taskRepository     = new Mock <ITaskRepository>();
            var taskTypeRepository = new Mock <ITaskTypeRepository>();
            var userRepository     = new Mock <IUserRepository>();
            var principal          = new Mock <IPrincipal>();
            var identity           = new Mock <IIdentity>();
            var httpContext        = new Mock <HttpContextBase>();
            var controllerContext  = new Mock <ControllerContext>();

            var taskController = new TaskController(
                taskService.Object,
                userService.Object,
                taskRepository.Object,
                taskTypeRepository.Object,
                userRepository.Object);

            identity
            .SetupGet(x => x.Name)
            .Returns("Test Username 01");

            principal
            .SetupGet(x => x.Identity)
            .Returns(identity.Object);

            httpContext
            .SetupGet(x => x.User)
            .Returns(principal.Object);

            controllerContext
            .SetupGet(x => x.HttpContext)
            .Returns(httpContext.Object);


            taskController.ControllerContext = controllerContext.Object;

            var viewModel = new TaskRaiseEditViewModel
            {
                Description  = "Raise Description 01",
                AssignedToId = Guid.NewGuid(),
                TypeId       = Guid.NewGuid()
            };

            taskService
            .Setup(x => x.ValidateRaise(It.IsAny <RaiseTaskRequest>()))
            .Returns(new ValidationMessageCollection());

            taskController.Raise(viewModel);

            taskService.Verify(x => x.ValidateRaise(It.Is <RaiseTaskRequest>(
                                                        y => y.Description == "Raise Description 01" &&
                                                        y.AssignedToId == viewModel.AssignedToId &&
                                                        y.TypeId == viewModel.TypeId &&
                                                        y.UserName == "Test Username 01")),
                               Times.Once());

            taskService.Verify(x => x.Raise(It.Is <RaiseTaskRequest>(
                                                y => y.Description == "Raise Description 01" &&
                                                y.AssignedToId == viewModel.AssignedToId &&
                                                y.TypeId == viewModel.TypeId &&
                                                y.UserName == "Test Username 01")),
                               Times.Once());
        }
Beispiel #7
0
 public static TaskRaiseEditViewModel MapToViewModel(TaskRaiseEditViewModel viewModel, IEnumerable <User> users, IEnumerable <TaskType> taskTypes)
 {
     viewModel.Assignees = new SelectList(users, "Id", "Username");
     viewModel.TaskTypes = new SelectList(taskTypes, "Id", "Description");
     return(viewModel);
 }