Exemplo n.º 1
0
        public async Task UpdateProjectMembershipsAsync_ShouldUpdateProjectMembershipsAndReturnProjectImplDtoWithAdditionalMembers()
        {
            var projectRequest = new ProjectRequest
            {
                Name  = "Test project " + Guid.NewGuid(),
                Color = "#FF00FF"
            };
            var createProjectResult = await _client.CreateProjectAsync(_workspaceId, projectRequest);

            createProjectResult.IsSuccessful.Should().BeTrue();
            createProjectResult.Data.Should().NotBeNull();

            var allUsers = await _client.FindAllUsersOnWorkspaceAsync(_workspaceId);

            var updateMembershipRequests = new UpdateMembershipsRequest
            {
                Memberships = allUsers.Data.Select(x =>
                                                   new UpdateMembershipRequest
                {
                    UserId     = x.ID,
                    HourlyRate = new HourlyRateRequest
                    {
                        Amount = 100,
                    }
                }).ToArray()
            };

            var updateProjectAsync = await _client.UpdateProjectMembershipsAsync(_workspaceId, createProjectResult.Data.Id, updateMembershipRequests);

            updateProjectAsync.IsSuccessful.Should().BeTrue();
            updateProjectAsync.Data.Memberships.First().HourlyRate.Amount.Should().Be(100);
            updateProjectAsync.Data.Memberships.Count.Should().Be(allUsers.Data.Count);

            var deleteProject = await _client.ArchiveAndDeleteProject(_workspaceId, createProjectResult.Data.Id);

            deleteProject.IsSuccessful.Should().BeTrue();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Update memberships on a project.
        /// </summary>
        public Task <IRestResponse <ProjectDtoImpl> > UpdateProjectMembershipsAsync(string workspaceId, string projectId, UpdateMembershipsRequest updateMembershipsRequest)
        {
            var request = new RestRequest($"/workspaces/{workspaceId}/projects/{projectId}/memberships");

            request.AddJsonBody(updateMembershipsRequest);
            return(_client.ExecuteAsync <ProjectDtoImpl>(request, Method.PATCH));
        }