public async Task AddProjectBadRequestStatus() { //Arrange var projectForAdd = new ProjectForAdd { Name = "test" }; var project = new Project { Name = "test", ProjectId = 1 }; ProjectController controller = new ProjectController(mapperMock.Object, wrapperMock.Object); mapperMock.Setup(m => m.Map <Project>(projectForAdd)).Returns(project); wrapperMock.Setup(w => w.ProjectRepository.Add(project)); wrapperMock.Setup(w => w.SaveAll()).Returns(Task.FromResult(false)); //Act var action = await controller.AddProject(projectForAdd, 1) as BadRequestObjectResult; //Assert Assert.Equal(400, action.StatusCode); Assert.NotNull(action.Value); }
public async Task <IActionResult> AddProject(ProjectForAdd projectForAddDto, int userId) { var projectForAdd = mapper.Map <Project>(projectForAddDto); projectForAdd.Owner = userId; repositoryWrapper.ProjectRepository.Add(projectForAdd); if (await repositoryWrapper.SaveAll()) { var userProject = new UserProject { ProjectId = projectForAdd.ProjectId, UserId = userId, Status = "active" }; repositoryWrapper.ProjectRepository.Add(userProject); if (await repositoryWrapper.SaveAll()) { var projectForReturn = mapper.Map <ProjectForReturnAdded>(projectForAdd); return(CreatedAtRoute("GetProject", new { userId, projectForAdd.ProjectId }, projectForReturn)); } } return(BadRequest("Could not add project.")); }
public async Task AddProjectCreatedAtRouteStatus() { //Arrange var projectForAdd = new ProjectForAdd { Name = "test", Type = "personal" }; var project = new Project { Name = "test", ProjectId = 1 }; var userProject = new UserProject { ProjectId = 1, UserId = 1, Status = "active" }; var projectForReturnAdded = new ProjectForReturnAdded { Name = "test", ProjectId = 1, Type = "personal" }; ProjectController controller = new ProjectController(mapperMock.Object, wrapperMock.Object); mapperMock.Setup(m => m.Map <Project>(projectForAdd)).Returns(project); wrapperMock.Setup(w => w.ProjectRepository.Add(project)); wrapperMock.Setup(w => w.SaveAll()).Returns(Task.FromResult(true)).Verifiable(); wrapperMock.Setup(w => w.ProjectRepository.Add(userProject)); wrapperMock.Setup(w => w.SaveAll()).Returns(Task.FromResult(true)).Verifiable(); mapperMock.Setup(m => m.Map <ProjectForReturnAdded>(projectForAdd)).Returns(projectForReturnAdded); //Act var action = await controller.AddProject(projectForAdd, 1) as CreatedAtRouteResult; //Assert wrapperMock.Verify(w => w.SaveAll(), Times.Exactly(2)); Assert.Equal(201, action.StatusCode); Assert.Equal("GetProject", action.RouteName); }