Ejemplo n.º 1
0
        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());
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }