public void WhenNoDatesPassedIn_WeDefaultToTodayAndOneWeekFromToday() { // Arrange var now = DateTime.Now; var expectedStartDate = now.Date; var expectedEndDate = now.Date.AddDays(7); var mockLogger = this.GetMockLogger <SchedulesController>(); var mockScheduleService = new Mock <IScheduleService>(); mockScheduleService.Setup(r => r.GetSchedules(It.IsAny <DateTime>(), It.IsAny <DateTime>())) .Returns(new List <Schedule>()); var dateTimeProvider = new UnitTestDateTimeProvider(now); SchedulesController controller = new SchedulesController(mockLogger.Object, mapper, mockScheduleService.Object, dateTimeProvider); // Act var response = controller.Get(new GetSchedulesParameters()); // Assert mockScheduleService.Verify(r => r.GetSchedules(expectedStartDate, expectedEndDate), Times.Once()); }
public void Today_ReturnsToday() { // Arrange var targetDateTime = new DateTime(2019, 12, 1, 11, 30, 00); UnitTestDateTimeProvider dateTimeProvider = new UnitTestDateTimeProvider(targetDateTime); // Act var result = dateTimeProvider.Today; // Assert result.Year.Should().Be(2019); result.Month.Should().Be(12); result.Day.Should().Be(1); result.Hour.Should().Be(0); result.Minute.Should().Be(0); result.Second.Should().Be(0); result.Kind.Should().Be(DateTimeKind.Local); }
public void ValidateScheduleStartAndEndCannotBeTheSame() { // Arrange DateTime testDateTime = new DateTime(2017, 10, 9, 8, 0, 0); // 1:00 PM IDateTimeProvider dateTimeProvider = new UnitTestDateTimeProvider(testDateTime); CreateFoodTruckScheduleModel model = new CreateFoodTruckScheduleModel() { LocationId = 1, StartTime = new DateTime(2017, 10, 9, 11, 0, 0), EndTime = new DateTime(2017, 10, 9, 11, 0, 0) }; // Act var validator = new CreateFoodTruckScheduleModelValidator(dateTimeProvider); var result = validator.Validate(model); // Assert result.IsValid.Should().BeFalse(); }
public void ValidateScheduleStartCannotBeInThePast() { // Arrange DateTime testDateTime = new DateTime(2017, 10, 9, 13, 0, 0); // 1:00 PM IDateTimeProvider dateTimeProvider = new UnitTestDateTimeProvider(testDateTime); CreateFoodTruckScheduleModel model = new CreateFoodTruckScheduleModel() { LocationId = 1, StartTime = new DateTime(2017, 10, 9, hour: 10, minute: 0, second: 0), EndTime = new DateTime(2017, 10, 9, hour: 14, minute: 0, second: 0) }; // Act var validator = new CreateFoodTruckScheduleModelValidator(dateTimeProvider); var result = validator.Validate(model); // Assert result.IsValid.Should().BeFalse(); }
public void ValidateGoodSchedulesShouldPass() { // Arrange DateTime testDateTime = new DateTime(2017, 10, 9, 8, 0, 0); // 8:00 AM IDateTimeProvider dateTimeProvider = new UnitTestDateTimeProvider(testDateTime); CreateFoodTruckScheduleModel model = new CreateFoodTruckScheduleModel() { LocationId = 1, StartTime = new DateTime(2017, 10, 9, 10, 0, 0), EndTime = new DateTime(2017, 10, 9, 14, 0, 0) }; // Act var validator = new CreateFoodTruckScheduleModelValidator(dateTimeProvider); var result = validator.Validate(model); // Assert result.IsValid.Should().BeTrue(); }
public void CurrentUtcDateTime_ReturnsCurrentUtcDateTime() { // Arrange var targetDateTime = new DateTime(2019, 12, 1, 22, 30, 00, DateTimeKind.Local); UnitTestDateTimeProvider dateTimeProvider = new UnitTestDateTimeProvider(targetDateTime); DateTime expectedDateTime = targetDateTime.ToUniversalTime(); // Act var result = dateTimeProvider.CurrentUtcDateTime; // Assert result.Year.Should().Be(expectedDateTime.Year); result.Month.Should().Be(expectedDateTime.Month); result.Day.Should().Be(expectedDateTime.Day); result.Hour.Should().Be(expectedDateTime.Hour); result.Minute.Should().Be(expectedDateTime.Minute); result.Second.Should().Be(expectedDateTime.Second); result.Kind.Should().Be(DateTimeKind.Utc); }