public async Task UpdateTemplateAsync_NullName_ShouldThrowArgumentException() { var templatePatchRequest = new TemplatePatchRequest() { Name = null, }; Func <Task> create = () => _client.UpdateTemplateAsync(_workspaceId, "", templatePatchRequest); await create.Should().ThrowAsync <ArgumentException>() .WithMessage($"Value cannot be null. (Parameter '{nameof(TemplatePatchRequest.Name)}')"); }
public async Task UpdateTemplateAsync_ShouldReturnTemplateDto() { // Create project for test var projectRequest = new ProjectRequest { Name = "Update Template test project " + Guid.NewGuid(), Color = "#FFFFFF" }; var projectResponse = await _client.CreateProjectAsync(_workspaceId, projectRequest); projectResponse.IsSuccessful.Should().BeTrue(); var projectId = projectResponse.Data.Id; // Create task var taskRequest = new TaskRequest { Name = "Template create task " + Guid.NewGuid() }; var taskResponse = await _client.CreateTaskAsync(_workspaceId, projectId, taskRequest); taskResponse.IsSuccessful.Should().BeTrue(); var taskId = taskResponse.Data.Id; var templatePatchRequest = new TemplateRequest() { Name = "Update Test template " + Guid.NewGuid(), ProjectsAndTasks = new List <ProjectsTaskTupleRequest>() { new ProjectsTaskTupleRequest { ProjectId = projectId, TaskId = taskId } } }; var createResult = await _client.CreateTemplatesAsync(_workspaceId, templatePatchRequest); createResult.IsSuccessful.Should().BeTrue(); createResult.Data.Should().NotBeNull(); var patchRequest = new TemplatePatchRequest { Name = "Updated " + Guid.NewGuid() }; var templateDto = createResult.Data.First(); templateDto.Name = patchRequest.Name; var getResponse = await _client.UpdateTemplateAsync(_workspaceId, templateDto.Id, patchRequest); getResponse.IsSuccessful.Should().BeTrue(); getResponse.Data.Should().BeEquivalentTo(templateDto); var deleteProject = await _client.ArchiveAndDeleteProject(_workspaceId, projectId); deleteProject.IsSuccessful.Should().BeTrue(); }
/// <summary> /// Updates template with id. /// </summary> public Task <IRestResponse <TemplateDto> > UpdateTemplateAsync(string workspaceId, string timeEntryId, TemplatePatchRequest templatePatchRequest) { if (templatePatchRequest == null) { throw new ArgumentNullException(nameof(templatePatchRequest)); } Require.Argument(nameof(templatePatchRequest.Name), templatePatchRequest.Name); var request = new RestRequest($"workspaces/{workspaceId}/templates/{timeEntryId}", Method.PATCH); request.AddJsonBody(templatePatchRequest); return(_client.ExecuteTaskAsync <TemplateDto>(request)); }