예제 #1
0
        public void CreateCallsProjectServiceEdit()
        {
            Mock <IRepository <Task> >    taskRepository    = new Mock <IRepository <Task> >();
            Mock <ITaskService>           taskService       = new Mock <ITaskService>();
            Mock <IRepository <User> >    userRepository    = new Mock <IRepository <User> >();
            Mock <IRepository <Project> > projectRepository = new Mock <IRepository <Project> >();
            Mock <IProjectService>        projectService    = new Mock <IProjectService>();

            var project = new BasicProject()
            {
                Id = 1, EstimatedHours = 3m, Title = "TestProject", ProjectManager = new User()
                {
                    UserName = "******"
                }, Tasks = new List <Task>()
            };

            projectRepository.Setup(p => p.Find(1)).Returns(project);
            userRepository.Setup(u => u.All).Returns(GetIQueryableUser());
            var controller = new TaskController(taskRepository.Object, taskService.Object, userRepository.Object, projectRepository.Object, projectService.Object);

            SetupControllerContext(controller);

            var viewModel = new BasicTaskViewModel()
            {
                Id = 1, Title = "TestTask", UserNames = "jdhall", EstimatedHours = 4m
            };

            viewModel.Project = new TaskViewModel.ProjectDetails()
            {
                Id = 1, CustomerName = "TST", EstimatedHours = 2m, Title = "TestProject"
            };
            var result = controller.Create(viewModel);

            projectService.Verify(ps => ps.Edit(It.Is <Project>(p => p.Tasks.Any(t => t.Id == 1))), Times.Once(), "ProjectEdit not called");
        }
예제 #2
0
        public IHttpActionResult Put(int id,
                                     BasicTaskViewModel task)
        {
            IHttpActionResult ret = null;

            if (ModelState.IsValid)
            {
                task.Id = id;
                _taskService.UpdateTask(task);
                ret = Ok(task);
            }
            else
            {
                System.Web.Http.ModelBinding.ModelStateDictionary errors =
                    BgsHelper.ConvertToModelState(ModelState);

                ret = BadRequest(errors);
            }

            return(ret);
        }
예제 #3
0
        public IHttpActionResult Post(
            BasicTaskViewModel task)
        {
            IHttpActionResult ret = null;

            if (ModelState.IsValid)
            {
                var savedTask = _taskService.AddTask(task);
                ret = Created <BasicTaskViewModel>(
                    Request.RequestUri +
                    savedTask.Id.ToString(),
                    task);
            }
            else
            {
                System.Web.Http.ModelBinding.ModelStateDictionary errors =
                    BgsHelper.ConvertToModelState(ModelState);

                ret = BadRequest(errors);
            }

            return(ret);
        }