public static async Task Run(WrikeClient client) { //Get all timelog records in all accounts. var timelogs = await client.Timelogs.GetAsync(); var newTimelog = new WrikeTimelog("IEACGXLUKQIGFGAK", 1m, DateTime.Now, comment: "test timelog"); newTimelog = await client.Timelogs.CreateAsync(newTimelog); //Get all timelog records for a task. //var timelogs = await client.Timelogs.GetAsync(taskId: "IEABX2HEKQGPEIPC"); //Get all timelog records in the account. //var timelogs = await client.Timelogs.GetAsync(accountId: "IEABX2HE"); //Get all timelog records in the account by createdDate //var timelogs = await client.Timelogs.GetAsync( // accountId: "IEABX2HE", // createdDate: new WrikeDateFilterRange(new DateTime(2018, 1, 29), new DateTime(2018, 1, 30))); //var timelog = await client.Timelogs.GetAsync(timelogId: "IEABX2HEJQAAKOKI"); /* * var newTimelog = new WrikeTimelog("IEABX2HEKQGGVPW3", "comment test", 0.5m, DateTime.Now); * newTimelog = await client.Timelogs.CreateAsync(newTimelog); * * var updatedTimelog = await client.Timelogs.UpdateAsync(newTimelog.Id, comment: "updated comment"); * * await client.Timelogs.DeleteAsync(newTimelog.Id); */ }
public void CreateAsync_NewTimelogNull_ThrowArgumentNullException() { WrikeTimelog newTimelog = null; var ex = Assert.ThrowsAsync <ArgumentNullException>(() => TestConstants.WrikeClient.Timelogs.CreateAsync(newTimelog)); Assert.AreEqual("newTimelog", ex.ParamName); }
public void CreateAsync_ShouldAddNewTimelogWithoutComment() { var newTimelog = new WrikeTimelog("IEACGXLUKQIGFGAK", 1m, DateTime.Now); var createdTimelog = WrikeClientFactory.GetWrikeClient().Timelogs.CreateAsync(newTimelog).Result; Assert.IsNotNull(newTimelog); //TODO: test other parameters }
public void CreateAsync_ShouldAddNewTimelogWithComment() { var newTimelog = new WrikeTimelog(DefaultTaskId, 1m, DateTime.Now, comment: "test timelog #2"); var createdTimelog = WrikeClientFactory.GetWrikeClient().Timelogs.CreateAsync(newTimelog).Result; Assert.IsNotNull(newTimelog); Assert.AreEqual(newTimelog.Comment, createdTimelog.Comment); //TODO: test other parameters }
public void DeleteAsync_ShouldDeleteNewTimelog() { var newTimelog = new WrikeTimelog("IEACGXLUKQIGFGAK", 1m, DateTime.Now); var createdTimelog = WrikeClientFactory.GetWrikeClient().Timelogs.CreateAsync(newTimelog).Result; WrikeClientFactory.GetWrikeClient().Timelogs.DeleteAsync(createdTimelog.Id).Wait(); var timelogs = WrikeClientFactory.GetWrikeClient().Timelogs.GetAsync().Result; var isTimelogDeleted = !timelogs.Any(t => t.Id == createdTimelog.Id); Assert.IsTrue(isTimelogDeleted); }
public void UpdateAsync_ShouldUpdateTimelogComment() { var newTimelog = new WrikeTimelog("IEACGXLUKQIGFGAK", 1m, DateTime.Now, comment: "test timelog #2"); newTimelog = WrikeClientFactory.GetWrikeClient().Timelogs.CreateAsync(newTimelog).Result; var expectedComment = "test timelog #2 [Updated]"; var updatedTimelog = WrikeClientFactory.GetWrikeClient().Timelogs.UpdateAsync(newTimelog.Id, expectedComment).Result; Assert.IsNotNull(updatedTimelog); Assert.AreEqual(expectedComment, updatedTimelog.Comment); //TODO: test other parameters }
async Task <WrikeTimelog> IWrikeTimelogsClient.CreateAsync(WrikeTimelog newTimelog, bool?plainText) { if (newTimelog == null) { throw new ArgumentNullException(nameof(newTimelog)); } var requestUri = $"tasks/{newTimelog.TaskId}/timelogs"; var postDataBuilder = new WrikeFormUrlEncodedContentBuilder() .AddParameter("comment", newTimelog.Comment) .AddParameter("hours", newTimelog.Hours) .AddParameter("trackedDate", newTimelog.TrackedDate.ToString("yyyy-MM-dd")) .AddParameter("plainText", plainText) .AddParameter("categoryId", newTimelog.CategoryId); var postContent = postDataBuilder.GetContent(); var response = await SendRequest <WrikeTimelog>(requestUri, HttpMethods.Post, postContent).ConfigureAwait(false); return(GetReponseDataFirstItem(response)); }