コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }