Beispiel #1
0
        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);
        }
Beispiel #2
0
        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."));
        }
Beispiel #3
0
        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);
        }