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")); }
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); }
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()); }
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); }