From 2dc4a37b4d867fa8912612a75d01bee0b1f17c65 Mon Sep 17 00:00:00 2001 From: Oleg Shevchenko Date: Tue, 27 Dec 2022 16:04:20 +0300 Subject: [PATCH] Fix move project request (#22) * Fix move project request --- src/Todoist.Net.Tests/Services/ProjectsServiceTests.cs | 8 ++++++-- src/Todoist.Net/Models/MoveArgument.cs | 9 +++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Todoist.Net.Tests/Services/ProjectsServiceTests.cs b/src/Todoist.Net.Tests/Services/ProjectsServiceTests.cs index fe865bc..e2e2a61 100644 --- a/src/Todoist.Net.Tests/Services/ProjectsServiceTests.cs +++ b/src/Todoist.Net.Tests/Services/ProjectsServiceTests.cs @@ -59,10 +59,14 @@ public void CreateUpdateOrderMoveAndDelete_Success() client.Projects.ReorderAsync(new ReorderEntry(project.Id, 1)).Wait(); - // TODO: Fix the request - //client.Projects.MoveAsync(new MoveArgument(project.Id, null)).Wait(); + var parentProjectName = Guid.NewGuid().ToString(); + var parentProject = new Project(parentProjectName); + client.Projects.AddAsync(parentProject).Wait(); + + client.Projects.MoveAsync(new MoveArgument(project.Id, parentProject.Id)).Wait(); client.Projects.DeleteAsync(project.Id).Wait(); + client.Projects.DeleteAsync(parentProject.Id).Wait(); } [Fact] diff --git a/src/Todoist.Net/Models/MoveArgument.cs b/src/Todoist.Net/Models/MoveArgument.cs index e946259..20bc46e 100644 --- a/src/Todoist.Net/Models/MoveArgument.cs +++ b/src/Todoist.Net/Models/MoveArgument.cs @@ -15,7 +15,7 @@ public class MoveArgument : BaseEntity /// The identifier of moved entity. /// The parent entity identifier. /// Entity ID is required for the operation - public MoveArgument(ComplexId id, ComplexId? parentId) + public MoveArgument(ComplexId id, ComplexId parentId) : base(id) { if (id.IsEmpty) @@ -23,6 +23,11 @@ public MoveArgument(ComplexId id, ComplexId? parentId) throw new ArgumentException("Entity ID is required for the move operation", nameof(id)); } + if (parentId.IsEmpty) + { + throw new ArgumentException("Parent ID is required for the move operation", nameof(parentId)); + } + ParentId = parentId; } @@ -33,6 +38,6 @@ internal MoveArgument() /// Gets the parent entity identifier. /// The parent entity identifier. [JsonProperty("parent_id")] - public ComplexId? ParentId { get; internal set; } + public ComplexId ParentId { get; internal set; } } }