public async Task <ApiResponse> AddReleaseToWorkspace(Guid workspaceId, [FromBody] CreateWorkspaceReleaseDto workspaceReleaseDto) { if (ModelState.IsValid) { var workspace = await _workspaceService.AddReleaseToWorkspace(workspaceId, workspaceReleaseDto); return(new ApiResponse("Release added to workspace successfully", workspace, (int)HttpStatusCode.OK)); } else { throw new ApiException(ModelState.AllErrors()); } }
public async Task AddReleaseToWorkspaceValidModelTest() { var workspaceId = Guid.NewGuid(); var workspaceReleaseDto = new CreateWorkspaceReleaseDto(); var workspace = new Workspace(); _workspaceService.Setup(service => service.AddReleaseToWorkspace(workspaceId, workspaceReleaseDto)).ReturnsAsync(workspace); var response = await _controller.AddReleaseToWorkspace(workspaceId, workspaceReleaseDto); Assert.NotNull(response); Assert.IsType <ApiResponse>(response); Assert.Equal("Release added to workspace successfully", response.Message); Assert.Equal((int)HttpStatusCode.OK, response.StatusCode); Assert.Equal(workspace, response.Result); }
public async Task AddReleaseToWorkspaceWhenReleasesNullTest() { var workspaceId = Guid.NewGuid(); var workspaceReleaseDto = new CreateWorkspaceReleaseDto(); var workspaceFromRepo = new Workspace(); _workspaceRepo.Setup(repo => repo.GetWorkspaceById(workspaceId)).ReturnsAsync(workspaceFromRepo); _workspaceRepo.Setup(repo => repo.CreateOrUpdateWorkspace(workspaceFromRepo)).ReturnsAsync(workspaceFromRepo); var workspace = await _service.AddReleaseToWorkspace(workspaceId, workspaceReleaseDto); Assert.NotNull(workspace); Assert.IsType <Workspace>(workspace); Assert.NotNull(workspace.Releases); Assert.Equal(1, workspace.Releases.Count); }
public async Task <Workspace> AddReleaseToWorkspace(Guid workspaceId, CreateWorkspaceReleaseDto releaseDto) { var workspaceFromRepo = await _workspaceRepo.GetWorkspaceById(workspaceId); if (workspaceFromRepo == null) { return(null); } var newWorkspaceRelease = _mapper.Map <Release>(releaseDto); newWorkspaceRelease.Guid = Guid.NewGuid(); if (workspaceFromRepo.Releases.IsNullOrEmpty()) { workspaceFromRepo.Releases = new List <Release>(); } workspaceFromRepo.Releases.Add(newWorkspaceRelease); await _workspaceRepo.CreateOrUpdateWorkspace(workspaceFromRepo); return(workspaceFromRepo); }