public void RefreshEventsForOctoberTest() { var absenceModel = new Mock<AbsenceModel>(); var event1 = new Mock<Event>(); var event2 = new Mock<Event>(); var event3 = new Mock<Event>(); var event4 = new Mock<Event>(); var events = new List<Event> { event1.Object, event2.Object, event3.Object, event4.Object }; absenceModel.Setup(m => m.GetAbsences(It.IsAny<int>(), It.IsAny<int>())).Returns(events); DateTime startOfMonth = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); DateTime endOfMonth = startOfMonth.AddMonths(1).AddDays(-1); Random randStart = new Random(); var fcevents = new Queue<FCEvent>(100); for (int i = 0; i < 4; i++) { var sd = startOfMonth.AddDays(randStart.Next(28)); var ed = sd.AddDays(randStart.Next(4)); fcevents.Enqueue(new FCEvent { id = Guid.Empty, title = "Mock FC Event " + i.ToString(), allDay = false, start = sd, end = ed, url = string.Empty, className = "owner-event", editable = true, startEditable = true, durationEditable = true }); } var mockEventBuilder = new Mock<EventBuilder>(); mockEventBuilder.Setup(m => m.Build(It.IsAny<Guid>(), It.IsAny<string>(), It.IsAny<DateTime>(), It.IsAny<DateTime>(), It.IsAny<bool>(), It.IsAny<bool>(), It.IsAny<bool>(), It.IsAny<bool>(), It.IsAny<EventType>())); mockEventBuilder.SetupSequence(m => m.GetEvent()) .Returns(fcevents.Dequeue()) .Returns(fcevents.Dequeue()) .Returns(fcevents.Dequeue()) .Returns(fcevents.Dequeue()); var controller = new HomeController(absenceModel.Object); controller.EventBuilder = mockEventBuilder.Object; var result = controller.RefreshEvents(2014, 10); Assert.IsInstanceOfType(result, typeof(JsonResult)); Assert.IsInstanceOfType(result.Data, typeof(List<EventModel>)); Assert.AreEqual(4, (result.Data as List<EventModel>).Count); Assert.AreEqual("Mock FC Event 2", ((result.Data as List<EventModel>)[2] as FCEvent).title); }
public void HomeControllerAcceptsAbsenceModelTest() { var absenceModel = new Mock<AbsenceModel>(); absenceModel.Setup(m => m.GetAbsences(It.IsAny<int>(), It.IsAny<int>())).Returns(It.IsAny<List<Event>>); var controller = new HomeController(absenceModel.Object); var results = controller.RefreshEvents(2014, 10); absenceModel.Verify(m => m.GetAbsences(It.IsAny<int>(), It.IsAny<int>()), Times.Once()); Assert.IsInstanceOfType(results, typeof(JsonResult)); }