public void AddCacheDependencies_NullKeys_ThrowsArgumentNullException() { Controller controller = new DesignerController(); /// TODO: fix always is null expression controller.AddCacheDependencies(null); }
public void AddCacheDependencies_NoCacheItem_CreatesAndAddsNewList() { // Arrange var context = new HttpContextWrapper(new HttpContext(new HttpRequest(null, "http://tempuri.org/", null), new HttpResponse(null))); var controller = new DesignerController(); var dependencies = new List <CacheDependencyKey>(); var depKey1 = new CacheDependencyKey { Key = "mykey1", Type = this.GetType() }; var depKey2 = new CacheDependencyKey { Key = "mykey2", Type = this.GetType() }; dependencies.Add(depKey1); dependencies.Add(depKey2); // Act SystemManager.RunWithHttpContext(context, () => controller.AddCacheDependencies(dependencies)); // Assert var cacheObject = context.Items[PageCacheDependencyKeys.PageData]; Assert.IsNotNull(cacheObject, "No cache object was set in the context."); Assert.IsTrue(cacheObject is IList <CacheDependencyKey>, "The cache object was not of the expected type."); var cacheList = (IList <CacheDependencyKey>)cacheObject; Assert.IsTrue(cacheList.Contains(depKey1), "The first cache dependency was not added."); Assert.IsTrue(cacheList.Contains(depKey2), "The second cache dependency was not added."); Assert.AreEqual(dependencies.Count, cacheList.Count, "There is an unexpected count of cache dependency keys."); }
public void RenderDefaultView_WithExpectedViewModel() { // Arrange var domainService = new Mock <IDomainService>(); var userService = new Mock <IUserService>(); var loggedInUser = new Mock <ILoggedInUser>(); var designerController = new DesignerController(userService.Object, domainService.Object, loggedInUser.Object); var domains = new List <Domain>() { new Domain() { Name = "name" } }; domainService.Setup(d => d.GetAllDomainsPendingDesign()).Returns(domains); // Act & Assert designerController .WithCallTo(s => s.Domains()) .ShouldRenderPartialView("_Pending") .WithModel <IEnumerable <PendingDesignDomainViewModel> >( p => { Assert.AreEqual(1, p.Count()); Assert.AreEqual("name", p.First().Name); Assert.AreEqual("Pending Design", p.First().Status); Assert.AreEqual(true, p.First().HasLogoUrl); }); }
public void AddCacheDependencies_NullContext_ThrowsInvalidOperationException() { Assert.IsNull(SystemManager.CurrentHttpContext, "Current HttpContext is expected to be null in unit tests but here it is not!"); Controller controller = new DesignerController(); controller.AddCacheDependencies(new CacheDependencyKey[0]); }
public void Create_Instance_Of_Controller_WhenArgumentsAreCorrect() { // Arrange var domainService = new Mock <IDomainService>(); var userService = new Mock <IUserService>(); var loggedInUser = new Mock <ILoggedInUser>(); // Act var designerController = new DesignerController(userService.Object, domainService.Object, loggedInUser.Object); // Assert Assert.IsInstanceOf <Controller>(designerController); }
public void RenderProposePartialView_WithExpectedViewModel() { // Arrange var domainService = new Mock <IDomainService>(); var userService = new Mock <IUserService>(); var loggedInUser = new Mock <ILoggedInUser>(); var designerController = new DesignerController(userService.Object, domainService.Object, loggedInUser.Object); // Act & Assert designerController .WithCallTo(s => s.Propose("name")) .ShouldRenderPartialView("_Propose") .WithModel <SubmitLogoViewModel>( p => { Assert.AreEqual("name", p.Name); }); }
public void Designer_UsesPrecompiledView() { var controller = new DesignerController(); var routeData = new RouteData(); routeData.Values["controller"] = "Designer"; routeData.Values["widgetName"] = "News"; controller.ControllerContext = new ControllerContext(new RequestContext(SystemManager.CurrentHttpContext, routeData), controller); FrontendControllerFactory.EnhanceViewEngines(controller); var viewResult = controller.ViewEngineCollection.FindView(controller.ControllerContext, "Designer", null); Assert.IsNotNull(viewResult, "View result is null."); Assert.IsNotNull(viewResult.View, "The view was not found."); Assert.IsInstanceOfType <PrecompiledMvcView>(viewResult.View, "The view is not precompiled."); viewResult = controller.ViewEngineCollection.FindView(controller.ControllerContext, "DesignerView.Simple", null); Assert.IsNotNull(viewResult, "View result is null."); Assert.IsNotNull(viewResult.View, "The view was not found."); Assert.IsInstanceOfType <PrecompiledMvcView>(viewResult.View, "The view is not precompiled."); }
public void RenderDefaultView_WithExpectedViewModel() { // Arrange var domainService = new Mock <IDomainService>(); var userService = new Mock <IUserService>(); var loggedInUser = new Mock <ILoggedInUser>(); var designerController = new DesignerController(userService.Object, domainService.Object, loggedInUser.Object); string userId = "userId"; var createdOn = new DateTime(17, 1, 1); var user = new User() { Id = userId, FirstName = "firstname", LastName = "lastname" }; var pendingDomains = new List <Domain>() { new Domain() { } }; var publisheDomains = new List <Domain>() { new Domain() { } }; var allDomainsPendingDesign = new List <Domain>() { new Domain() { } }; user.CreatedOn = createdOn; user.Balance = 10000; loggedInUser.Setup(l => l.GetUserId()).Returns(userId); userService.Setup(u => u.GetUserByStringId(userId)).Returns(user); domainService.Setup(d => d.GetPendingApprovalDomainsSubmittedByDesigner(userId)).Returns(pendingDomains); domainService.Setup(d => d.GetPublishedDomainsSubmittedByDesigner(userId)).Returns(publisheDomains); domainService.Setup(d => d.GetAllDomainsPendingDesign()).Returns(allDomainsPendingDesign); // Act & Assert designerController .WithCallTo(d => d.Index()) .ShouldRenderDefaultView() .WithModel <DesignerProfileBoxStatsViewModel>( s => { Assert.AreEqual(user.FirstName + " " + user.LastName, s.FullName); Assert.AreEqual(user.FirstName[0].ToString() + user.LastName[0].ToString(), s.Initials); Assert.AreEqual(createdOn, s.MemberSince); Assert.AreEqual(Math.Round(user.Balance / 1000, 0) + "k", s.BalanceInKUsd); Assert.AreEqual(10000, s.Balance); Assert.AreEqual(1, s.DomainsPendingLogoDesign); Assert.AreEqual(1, s.Published); Assert.AreEqual(1, s.Submitted); }); }
public void AddCacheDependencies_NullKeys_ThrowsArgumentNullException() { Controller controller = new DesignerController(); controller.AddCacheDependencies(null); }