public void TestGet() { _gateway.Setup(g => g.FindBy(4765)).Returns(new List <TimeEntryRecord> { new TimeEntryRecord(1234, 55432, 4765, DateTime.Parse("2015-05-17"), 8), new TimeEntryRecord(5678, 55433, 4765, DateTime.Parse("2015-05-18"), 6) }); var response = _controller.Get(4765); var body = (List <TimeEntryInfo>)((ObjectResult)response).Value; Assert.IsType <OkObjectResult>(response); Assert.Equal(2, ((List <TimeEntryInfo>)((ObjectResult)response).Value).Count); Assert.Equal(1234, body[0].Id); Assert.Equal(55432, body[0].ProjectId); Assert.Equal(4765, body[0].UserId); Assert.Equal(17, body[0].Date.Day); Assert.Equal(5, body[0].Date.Month); Assert.Equal(2015, body[0].Date.Year); Assert.Equal(8, body[0].Hours); Assert.Equal("entry info", body[0].Info); Assert.Equal(5678, body[1].Id); Assert.Equal(55433, body[1].ProjectId); Assert.Equal(4765, body[1].UserId); Assert.Equal(18, body[1].Date.Day); Assert.Equal(5, body[1].Date.Month); Assert.Equal(2015, body[1].Date.Year); Assert.Equal(6, body[1].Hours); Assert.Equal("entry info", body[1].Info); }
public void TestGet() { _testScenarioSupport.LoadTestScenario("jacks-test-scenario"); var controller = new TimeEntryController(new TimeEntryDataGateway(new DatabaseTemplate(_dataSourceConfig)), new ProjectClient()); var result = controller.Get(4765); // todo... Assert.Equal(2, ((List <TimeEntryInfo>)((ObjectResult)result).Value).Count); }
public async Task TestTimeEntry() { var projectResults = await projectController.CreateProject(new ProjectCreateDTO() { ClientName = "Test Client", Description = "Test Desciption", ProjectName = "Best project 10/10", Tags = new List <string>() { "AngryCarrot" } }); database.ChangeTracker.Clear(); var projectId = projectResults.Data; var testTimeEntry = new TimeEntryDTO() { Day = new DateTime(1999, 6, 18), Length = 5, Notes = "Happy Birthday", ProjectId = projectId }; // Create time var createTimeResults = await timeEntryController.CreateTime(testTimeEntry); Assert.IsTrue(createTimeResults.Success); Assert.IsTrue(createTimeResults.Data > 0); // Get the time entry var getCreatedTimeResults = await timeEntryController.Get(createTimeResults.Data); Assert.AreEqual(getCreatedTimeResults.Success, true); Assert.AreEqual(testTimeEntry.Day, getCreatedTimeResults.Data.Day); Assert.AreEqual(testTimeEntry.Length, getCreatedTimeResults.Data.Length); Assert.AreEqual(testTimeEntry.Notes, getCreatedTimeResults.Data.Notes); Assert.IsTrue(DateTime.UtcNow > getCreatedTimeResults.Data.CreatedTime); var updatedTimeEntry = new TimeEntryDTO() { Id = createTimeResults.Data, Day = new DateTime(1989, 10, 24), Notes = "pewdiepie", Length = 5 }; // Update time var updateTimeResuls = await timeEntryController.UpdateTime(updatedTimeEntry); // Get the time entry var getUpdatedTimeResults = await timeEntryController.Get(updateTimeResuls.Data); Assert.AreEqual(getUpdatedTimeResults.Success, true); Assert.AreEqual(getUpdatedTimeResults.Data.Id, getCreatedTimeResults.Data.Id); Assert.AreEqual(updatedTimeEntry.Day, getUpdatedTimeResults.Data.Day); Assert.AreEqual(updatedTimeEntry.Length, getUpdatedTimeResults.Data.Length); Assert.AreEqual(updatedTimeEntry.Notes, getUpdatedTimeResults.Data.Notes); Assert.AreEqual(getUpdatedTimeResults.Data.CreatedTime, getCreatedTimeResults.Data.CreatedTime); Assert.IsTrue(getCreatedTimeResults.Data.LastModified < getUpdatedTimeResults.Data.LastModified); // Search for projects var singleDayNoResults = await timeEntryController.GetInDateRange(new DateRangeDTO() { StartDate = DateTime.Now, EndDate = DateTime.Now }); Assert.AreEqual(singleDayNoResults.Success, true); Assert.AreEqual(singleDayNoResults.Data.Count, 0); var singleDayResults = await timeEntryController.GetInDateRange(new DateRangeDTO() { StartDate = updatedTimeEntry.Day, EndDate = updatedTimeEntry.Day }); Assert.AreEqual(singleDayResults.Success, true); Assert.AreEqual(singleDayResults.Data.Count, 1); var multipleDayResults = await timeEntryController.GetInDateRange(new DateRangeDTO() { StartDate = updatedTimeEntry.Day.AddDays(-10), EndDate = updatedTimeEntry.Day.AddDays(123) }); Assert.AreEqual(multipleDayResults.Success, true); Assert.AreEqual(multipleDayResults.Data.Count, 1); }