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(); }
/// <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)); }