Example #1
0
        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());
        }
Example #2
0
        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);
     }
 }