public void TestUpdate() { // arrange var manager = new RedmineManagerInstance(Url, ApiKey); var activityInfo = manager.GetTotalActivityInfoList(new DataSourceParameter()).First(a => a.IsDefault); var issueInfo = manager.GetIssueInfoList(new DataSourceParameter() { Limit = 1 }).First(); var projectInfo = new ProjectInfo() { Id = issueInfo.ProjectId, Name = issueInfo.ProjectShortName }; var timeEntryInfo = new TimeEntryInfo() { Id = null, Name = "CreateAndDeleteTest", StartDateTime = new DateTime(2016, 7, 8, 10, 0, 0), EndDateTime = new DateTime(2016, 7, 8, 12, 15, 0, 0), UpdateTime = new DateTime(2017, 2, 14), ActivityInfo = activityInfo, IssueInfo = issueInfo, ProjectInfo = projectInfo, }; var created = manager.CreateObject(timeEntryInfo); var createdId = created.Id; // act var currentTime = DateTime.Now; timeEntryInfo.StartDateTime = new DateTime(2016, 7, 8, 8, 15, 0); manager.UpdateObject(timeEntryInfo); var updatedIssues = manager.GetTotalTimeEntryInfoList(new DataSourceParameter() { UpdateStartDateTime = currentTime }) .Where(i => i.Name == timeEntryInfo.Name); // clean up manager.DeleteTimeEntry(timeEntryInfo.Id, new DataSourceParameter()); // assert Assert.That(updatedIssues, Is.Not.Null); Assert.That(updatedIssues.Count, Is.EqualTo(1)); var issue = updatedIssues.First(); Assert.That(issue.UpdateTime - DateTime.Now, Is.LessThanOrEqualTo(TimeSpan.FromMinutes(5))); Assert.That(issue.StartDateTime, Is.EqualTo(timeEntryInfo.StartDateTime)); }