diff --git a/src/Todoist.Net.Tests/Services/ReminersServiceTests.cs b/src/Todoist.Net.Tests/Services/ReminersServiceTests.cs
index a0ae773..bf3d8e6 100644
--- a/src/Todoist.Net.Tests/Services/ReminersServiceTests.cs
+++ b/src/Todoist.Net.Tests/Services/ReminersServiceTests.cs
@@ -1,5 +1,6 @@
using System;
using System.Linq;
+using System.Threading.Tasks;
using Todoist.Net.Models;
using Todoist.Net.Tests.Extensions;
@@ -21,25 +22,51 @@ public ReminersServiceTests(ITestOutputHelper outputHelper)
}
[Fact]
- public void CreateDelete_Success()
+ public async Task CreateDelete_Success()
{
var client = TodoistClientFactory.Create(_outputHelper);
var transaction = client.CreateTransaction();
- var itemId = transaction.Items.AddAsync(new Item("Temp")).Result;
+ var itemId = await transaction.Items.AddAsync(new Item("Temp")).ConfigureAwait(false);
var reminderId =
- transaction.Reminders.AddAsync(new Reminder(itemId) { DueDate = new DueDate(DateTime.UtcNow.AddDays(1)) }).Result;
- transaction.CommitAsync().Wait();
+ await transaction.Reminders.AddAsync(new Reminder(itemId) { DueDate = new DueDate(DateTime.UtcNow.AddDays(1)) }).ConfigureAwait(false);
+ await transaction.CommitAsync().ConfigureAwait(false);
- var reminders = client.Reminders.GetAsync().Result;
+ var reminders = await client.Reminders.GetAsync().ConfigureAwait(false);
Assert.True(reminders.Any());
- var reminderInfo = client.Reminders.GetAsync(reminderId).Result;
+ var reminderInfo = await client.Reminders.GetAsync(reminderId).ConfigureAwait(false);
Assert.True(reminderInfo != null);
- client.Reminders.DeleteAsync(reminderInfo.Reminder.Id).Wait();
- client.Items.DeleteAsync(itemId);
+ await client.Reminders.DeleteAsync(reminderInfo.Reminder.Id).ConfigureAwait(false);
+ await client.Items.DeleteAsync(itemId);
+ }
+
+ [Fact]
+ public async Task AddRelativeReminder_Success()
+ {
+ var client = TodoistClientFactory.Create(_outputHelper);
+
+ var item = new Item("Test")
+ {
+ DueDate = new DueDate(DateTime.UtcNow.AddDays(1))
+ };
+
+ var taskId = await client.Items.AddAsync(item).ConfigureAwait(false);
+
+ var user = await client.Users.GetCurrentAsync().ConfigureAwait(false);
+ var reminder = new Reminder(taskId)
+ {
+ MinuteOffset = 60,
+ NotifyUid = user.Id
+ };
+
+ var reminderId = await client.Reminders.AddAsync(reminder).ConfigureAwait(false);
+
+ Assert.NotNull(reminderId.PersistentId);
+
+ await client.Items.DeleteAsync(item.Id);
}
}
}
diff --git a/src/Todoist.Net.Tests/Services/UsersServiceTests.cs b/src/Todoist.Net.Tests/Services/UsersServiceTests.cs
index 14f1c1a..fc61602 100644
--- a/src/Todoist.Net.Tests/Services/UsersServiceTests.cs
+++ b/src/Todoist.Net.Tests/Services/UsersServiceTests.cs
@@ -28,7 +28,7 @@ public async Task GetCurrentAsync_Success()
var user = await client.Users.GetCurrentAsync();
Assert.NotNull(user);
- Assert.True(user.Id > 0);
+ Assert.NotNull(user.Id);
}
[Fact]
diff --git a/src/Todoist.Net/Models/BaseEntity.cs b/src/Todoist.Net/Models/BaseEntity.cs
index 942a537..076f462 100644
--- a/src/Todoist.Net/Models/BaseEntity.cs
+++ b/src/Todoist.Net/Models/BaseEntity.cs
@@ -25,7 +25,11 @@ internal BaseEntity()
[JsonProperty("id")]
public ComplexId Id { get; set; }
- internal bool ShouldSerializeId()
+ ///
+ /// Checks if the Id property should be serialized.
+ ///
+ /// True if the property should be serialized, false otherwise.
+ public bool ShouldSerializeId()
{
return !Id.IsEmpty;
}
diff --git a/src/Todoist.Net/Models/Reminder.cs b/src/Todoist.Net/Models/Reminder.cs
index f24ce63..2379879 100644
--- a/src/Todoist.Net/Models/Reminder.cs
+++ b/src/Todoist.Net/Models/Reminder.cs
@@ -63,7 +63,7 @@ internal Reminder()
/// The mm offset.
/// The relative time in minutes before the due date of the item, in which the reminder should be triggered.
/// Note, that the item should have a due date set in order to add a relative reminder.
- [JsonProperty("mm_offset")]
+ [JsonProperty("minute_offset")]
public long? MinuteOffset { get; set; }
///
diff --git a/src/Todoist.Net/Models/ReminderType.cs b/src/Todoist.Net/Models/ReminderType.cs
index 586e82f..1112c0d 100644
--- a/src/Todoist.Net/Models/ReminderType.cs
+++ b/src/Todoist.Net/Models/ReminderType.cs
@@ -34,6 +34,6 @@ private ReminderType(string value)
///
/// The relative.
/// For a time-based reminder specified in minutes from now.
- public static ReminderType Relative { get; } = new ReminderType("relative ");
+ public static ReminderType Relative { get; } = new ReminderType("relative");
}
}
diff --git a/src/Todoist.Net/Models/UserInfo.cs b/src/Todoist.Net/Models/UserInfo.cs
index 8791696..42f11d2 100644
--- a/src/Todoist.Net/Models/UserInfo.cs
+++ b/src/Todoist.Net/Models/UserInfo.cs
@@ -82,7 +82,7 @@ internal UserInfo()
///
/// The identifier.
[JsonProperty("id")]
- public int Id { get; internal set; }
+ public string Id { get; internal set; }
///
/// Gets the image identifier.