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 async void Test_Delete_Schedule() { //Arrange var db = DbSource.CreateDbSource(); var c = new SchedulesController(db); var schedule = new Schedule { ScheduleId = 3, HomeTeamScore = 31, AwayTeamScore = 13, GameDate = new DateTime(2019, 05, 05, 13, 50, 22), Time = "05:30", TeamInfoId = 1 }; //Act await c.Create(schedule); var r = await c.Delete(3); //Assert var result = Assert.IsType <ViewResult>(r); var model = Assert.IsAssignableFrom <Schedule>(result.ViewData.Model); Assert.Equal(db.Schedule.Find(3), model); }
public async void Test_Create_Invalid_Schedule_GameDate() { //Arrange var db = DbSource.CreateDbSource(); var c = new SchedulesController(db); var schedule = new Schedule { ScheduleId = 2, HomeTeamScore = 3, AwayTeamScore = 1, Time = "05:30", TeamInfoId = 1 }; c.ModelState.AddModelError("GameDate", "Required"); //Act var r = await c.Create(schedule); //Assert var result = Assert.IsType <ViewResult>(r); var model = Assert.IsAssignableFrom <Schedule>(result.ViewData.Model); Assert.Equal(schedule, model); }
public async Task PostScheduleReturnsCreaterAtActionResultTest() { // Arrange int testId = 1; Schedule schedule = GetTestSchedules().FirstOrDefault(p => p.Id == testId); var mockLogger = new Mock <ILogger <SchedulesController> >(); var mockRepo = new Mock <IVenuesRepository>(); mockRepo.Setup(c => c.AddSchedule(schedule)).Verifiable(); mockRepo.Setup(c => c.SaveChanges()) .Returns(Task.CompletedTask); var controller = new SchedulesController(mockRepo.Object, mockLogger.Object); // Act var result = await controller.PostSchedule(schedule); // Assert var requestResult = Assert.IsType <CreatedAtActionResult>(result); var model = Assert.IsType <Schedule>(requestResult.Value); Assert.Equal(schedule.Id, model.Id); Assert.Equal(schedule.VenueId, model.VenueId); Assert.Equal(schedule.ConcertId, model.ConcertId); Assert.Equal(schedule.Date, model.Date); }
public async void Test_Create_Schedule() { //Arrange var db = DbSource.CreateDbSource(); var c = new SchedulesController(db); var schedule = new Schedule { ScheduleId = 2, HomeTeamScore = 3, AwayTeamScore = 1, GameDate = new DateTime(2019, 05, 05, 13, 50, 22), Time = "05:30", TeamInfoId = 1 }; //Act var r = await c.Create(schedule); //Assert var result = Assert.IsType <RedirectToActionResult>(r); Assert.Equal("Index", result.ActionName); Assert.Equal(1, db.Schedule.Where(x => x.ScheduleId == schedule.ScheduleId && x.HomeTeamScore == schedule.HomeTeamScore && x.AwayTeamScore == schedule.AwayTeamScore && x.GameDate == schedule.GameDate && x.Time == schedule.Time && x.TeamInfoId == schedule.TeamInfoId).Count()); }
public async Task PutScheduleThrowsDbUpdateExceptionTest() { // Arrange var mock = new Mock <IUpdateEntry>(); var entries = new List <IUpdateEntry>(); entries.Add(mock.Object); int testId = 1; Schedule schedule = GetTestSchedules().FirstOrDefault(p => p.Id == testId); var mockLogger = new Mock <ILogger <SchedulesController> >(); var mockRepo = new Mock <IVenuesRepository>(); mockRepo.Setup(c => c.FirstSchedule(testId)).Returns(schedule); mockRepo.Setup(c => c.ChangeState(schedule, schedule, EntityState.Modified)) .Verifiable(); mockRepo.Setup(c => c.SaveChanges()).Throws( new DbUpdateConcurrencyException(It.IsNotNull <string>(), entries)); mockRepo.Setup(c => c.ScheduleExists(testId)).Returns(true); var controller = new SchedulesController(mockRepo.Object, mockLogger.Object); // Act Assert await Assert.ThrowsAsync <DbUpdateConcurrencyException>(() => controller.PutSchedule(schedule)); }
public void scheduledControl() { //GetScheduleList SchedulesController schedulesController = new SchedulesController(); List <ScheduleModel> scheduleModels = schedulesController.GetScheduleList(); foreach (ScheduleModel sm in scheduleModels) { var roomID = sm.Location; DateTime sdate = DateTime.Parse(sm.Date + " " + sm.Time); var dftmp = calGoodTemp(roomID); sdate = sdate.AddMinutes(-8); String scheduleTime = sdate.ToString("dd/MM/yyyy HH:mm"); Debug.WriteLine("scheduleTime: " + scheduleTime); String now = DateTime.Now.ToString("dd/MM/yyyy HH:mm"); Debug.WriteLine("DateTime.Now: " + now); //TimeSpan timeSpan = now - sdate; if (now == scheduleTime) { Boolean success = apUtil.setAcCurrentAndTurnON(roomID, dftmp); if (success) { Debug.WriteLine("scheduledControl: ready to have a booking: roomID = " + roomID); } else { Debug.WriteLine("scheduledControl: booked room turn on fail = " + roomID); } } } }
private void ManageFlightSchedules_Load(object sender, EventArgs e) { SchedulesController sc = new SchedulesController(); List <Schedules> ls = new SchedulesController().getAll(); AirportsController ap = new AirportsController(); dataGrDisplay.DataSource = ls; }
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); } }
public void scheduledRoom() { //GetScheduleList SchedulesController schedulesController = new SchedulesController(); List <ScheduleModel> scheduleModels = schedulesController.GetScheduleList(); List <String> scheduledRoomList = new List <string>(); foreach (ScheduleModel sm in scheduleModels) { Debug.WriteLine("sm.Location:" + sm.Location); } }
public async void Test_Index_Schedule() { //Arrange var db = DbSource.CreateDbSource(); var c = new SchedulesController(db); //Act var r = await c.Index(); //Assert var result = Assert.IsType <ViewResult>(r); var model = Assert.IsAssignableFrom <List <Schedule> >(result.ViewData.Model); Assert.Equal(1, model.Count()); }
public async Task PostScheduleReturnsBadRequestResultTest() { // Arrange & Act var mockRepo = new Mock <IVenuesRepository>(); var mockLogger = new Mock <ILogger <SchedulesController> >(); var controller = new SchedulesController(mockRepo.Object, mockLogger.Object); controller.ModelState.AddModelError("error", "some error"); // Act var result = await controller.PostSchedule(schedule : null); // Assert Assert.IsType <BadRequestObjectResult>(result); }
public async Task PutScheduleReturnsNoContentResultTest() { // Arrange int testId = 1; Schedule schedule = GetTestSchedules().FirstOrDefault(p => p.Id == testId); var mockLogger = new Mock <ILogger <SchedulesController> >(); var mockRepo = new Mock <IVenuesRepository>(); mockRepo.Setup(c => c.ChangeState(schedule, schedule, EntityState.Modified)).Verifiable(); mockRepo.Setup(c => c.SaveChanges()).Returns(Task.CompletedTask); mockRepo.Setup(c => c.FirstSchedule(testId)).Returns(schedule); var controller = new SchedulesController(mockRepo.Object, mockLogger.Object); // Act var result = await controller.PutSchedule(schedule); // Assert Assert.IsType <NoContentResult>(result); }
public async Task SchedulesGet_ReturnsACollectionOfScheduleDTOs() { var mockRepo = new Mock <IScheduleRepository>(); mockRepo.Setup(repo => repo.GetSchedulesBetween(It.IsAny <DateTime>(), It.IsAny <DateTime>())) .Returns(DummyDailyWorkSchedulesCollection); var controller = new SchedulesController(mockRepo.Object); var scheduleDTOs = await controller.GetAsync(); Assert.Equal( DummyDailyWorkSchedulesCollection.Select(schedule => (schedule.Employee, schedule.StartTime)), scheduleDTOs.Select(scheduleDTO => (scheduleDTO.Employee, scheduleDTO.StartTime))); mockRepo.Verify(repo => repo.GetSchedulesBetween( It.Is <DateTime>(dateTime => dateTime.Date == DateTime.Now.AddDays(-Constants.DefaultIntervalInDays).Date), It.Is <DateTime>(dateTime => dateTime.Date == DateTime.Now.AddDays(Constants.DefaultIntervalInDays).Date))); }