// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Threading.Tasks; using Microsoft.AspNet.Mvc.Rendering; using Microsoft.AspNet.PipelineCore; using Microsoft.AspNet.Routing; using Moq; using Xunit; namespace Microsoft.AspNet.Mvc.Core { public class ViewResultTest { [Fact] public async Task ViewResult_UsesFindViewOnSpecifiedViewEngineToLocateViews() { // Arrange var viewName = "myview"; var context = new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor()); var viewEngine = new Mock(); var view = Mock.Of(); viewEngine.Setup(e => e.FindView(context, "myview")) .Returns(ViewEngineResult.Found("myview", view)) .Verifiable(); var viewResult = new ViewResult { ViewName = viewName, ViewEngine = viewEngine.Object }; // Act await viewResult.ExecuteResultAsync(context); // Assert viewEngine.Verify(); } } }