Exemple #1
0
        public void should_add_a_session_when_posting_to_add_action()
        {
            var theTalkId = 5;
            var theTalk   = new Talk();

            var theVenueId = 9;
            var theVenue   = new Venue();

            var talkService = new Mock <ITalkService>();

            talkService.Setup(x => x.GetTalk(theTalkId)).Returns(theTalk);

            var venueService = new Mock <IVenueService>();

            venueService.Setup(x => x.GetVenue(theVenueId)).Returns(theVenue);

            var sessionService = new Mock <ISessionService>();


            var model = new AddSessionViewModel
            {
                TalkId    = theTalkId,
                VenueId   = theVenueId,
                StartDate = DateTime.Now,
                StartTime = 6,
            };

            var sessionController = new SessionController(sessionService.Object, talkService.Object, venueService.Object);

            var result = sessionController.Add(model);

            Assert.IsType <SessionListViewModel>(((ViewResult)result).Model);
        }
Exemple #2
0
        public IActionResult Add(AddSessionViewModel model)
        {
            var talk    = talkService.GetTalk(model.TalkId);
            var venue   = venueService.GetVenue(model.VenueId);
            var session = new Session
            {
                Talk     = talk,
                Start    = model.StartDate.AddHours(model.StartTime),
                Venue    = venue,
                TalkType = talkService.GetTalkType(model.TalkTypeId),
                Status   = SessionStatus.Open
            };

            sessionService.AddSession(session);

            return(View("Index", new SessionListViewModel {
                SessionList = sessionService.GetSessions().ToList()
            }));
        }