public async Task OnGetAsyncSuccessfull() { var testSession = GetTestSessionResponse(); var apiClientStub = new Mock <IApiClient>(); apiClientStub.Setup(a => a.GetSessionAsync(It.IsAny <int>())) .ReturnsAsync(testSession); apiClientStub.Setup(a => a.GetSessionsAsync(It.IsAny <int>())) .ReturnsAsync(GetTestAllSessionsAsync()); apiClientStub.Setup(a => a.GetSessionsByAttendeeAsync(It.IsAny <string>(), It.IsAny <int>())) .ReturnsAsync(GetTestAllSessionsAsync()); var displayName = "User name"; var identity = new GenericIdentity(displayName); var principle = new ClaimsPrincipal(identity); // use default context with user var httpContext = new DefaultHttpContext() { User = principle }; //need these as well for the page context var modelState = new ModelStateDictionary(); var actionContext = new ActionContext(httpContext, new RouteData(), new PageActionDescriptor(), modelState); var modelMetadataProvider = new EmptyModelMetadataProvider(); var viewData = new ViewDataDictionary(modelMetadataProvider, modelState); // need page context for the page model var pageContext = new PageContext(actionContext) { ViewData = viewData }; //create model with necessary dependencies var model = new SessionModel(apiClientStub.Object) { PageContext = pageContext }; await model.OnGetAsync(testSession.ID); Assert.Equal(testSession.ID, model.Session.ID); Assert.Equal(testSession.Title, model.Session.Title); Assert.Equal(testSession.Abstract, model.Session.Abstract); Assert.True(model.IsInPersonalAgenda); Assert.Equal(1, model.DayOffset); }