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); }
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() })); }