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 WhenDatesPassedIn_PassedInDatesAreUsed() { // Arrange var expectedStartDate = new DateTime(2018, 4, 1); var expectedEndDate = new DateTime(2018, 4, 15); 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 mockDateTimeProvider = new Mock <IDateTimeProvider>(); SchedulesController controller = new SchedulesController(mockLogger.Object, mapper, mockScheduleService.Object, mockDateTimeProvider.Object); // Act var response = controller.Get(new GetSchedulesParameters() { StartDate = expectedStartDate, EndDate = expectedEndDate }); // Assert mockScheduleService.Verify(r => r.GetSchedules(expectedStartDate, expectedEndDate), Times.Once()); mockDateTimeProvider.Verify(p => p.CurrentDateTime, Times.Never); mockDateTimeProvider.Verify(p => p.Today, Times.Never); }
public void CanGet() { try { //Arrange //Repository Mock <IScheduleRepository> mockRepo = new Mock <IScheduleRepository>(); var schedules = new List <Schedule>() { new Schedule() { Id = 1, Title = "Schedule1" }, new Schedule() { Id = 2, Title = "Schedule2" }, new Schedule() { Id = 3, Title = "Schedule3" } }; mockRepo.Setup(m => m.items).Returns(value: schedules); //auto mapper configuration var mockMapper = new MapperConfiguration(cfg => { cfg.AddProfile(new AutoMapperProfile()); }); var mapper = mockMapper.CreateMapper(); SchedulesController controller = new SchedulesController(repository: mockRepo.Object, mapper: mapper); //Act var result = controller.Get(); //Assert var okResult = result as OkObjectResult; if (okResult != null) { Assert.NotNull(okResult); } var model = okResult.Value as IEnumerable <ScheduleDto>; if (model.Count() > 0) { Assert.NotNull(model); var expected = model?.FirstOrDefault().Title; var actual = schedules?.FirstOrDefault().Title; Assert.Equal(expected: expected, actual: actual); } } catch (Exception ex) { //Assert Assert.False(false, ex.Message); } }