public void RenderPhysicalGameProduct_CurrentUserIsMember() { Guid gameProductId = new Guid("976ACE77-D87C-4EBE-83A0-46F911F6490E"); PhysicalGameProduct gameProduct = new PhysicalGameProduct() { Id = gameProductId }; Member wishlistOwner = new Member { UserId = Id, WishListVisibility = WishListVisibility.FriendsOnly, RequestedFriendships = new List<Friendship>(), ReceivedFriendships = new List<Friendship>(), UserAccount = new DataModels.Models.Identity.User() { UserName = "******" } }; Member currentMember = new Member { UserId = UserId, Wishlist = new List<Product> { gameProduct }, Cart = new Cart { Items = new List<CartItem> { new CartItem { Product = gameProduct, ProductId = gameProduct.Id, IsNew = true, MemberId = UserId, Quantity = 1 }, new CartItem { Product = gameProduct, ProductId = gameProduct.Id, IsNew = false, MemberId = UserId, Quantity = 1 } } } }; List<Member> members = new List<Member> { wishlistOwner, currentMember }; Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake(); Mock<DbSet<Member>> memberDbSetStub = TestHelpers.GetFakeAsyncDbSet(members.AsQueryable()); memberDbSetStub.Setup(db => db.Find(currentMember.UserId)).Returns(currentMember); memberDbSetStub.Setup(db => db.Find(wishlistOwner.UserId)).Returns(wishlistOwner); dbStub.Setup(db => db.Members).Returns(memberDbSetStub.Object); Mock<ControllerContext> context = new Mock<ControllerContext>(); context.Setup(c => c.HttpContext.User.Identity).Returns<IIdentity>(null); context.Setup(c => c.HttpContext.User.Identity.IsAuthenticated).Returns(true); Mock<IGuidUserIdGetter> idGetterStub = new Mock<IGuidUserIdGetter>(); idGetterStub.Setup(id => id.GetUserId(It.IsAny<IIdentity>())).Returns(currentMember.UserId); WishlistController controller = new WishlistController(dbStub.Object, idGetterStub.Object) { ControllerContext = context.Object }; var result = controller.RenderPhysicalGameProduct(gameProduct, wishlistOwner.UserId) as PartialViewResult; Assert.That(result != null); Assert.That(result.Model, Is.InstanceOf<WishlistPhysicalGameProductViewModel>()); var model = (WishlistPhysicalGameProductViewModel)result.Model; Assert.That(model.GameProduct.Id, Is.EqualTo(gameProduct.Id)); Assert.That(model.NewIsInCart); Assert.That(model.UsedIsInCart); Assert.That(model.ProductIsOnWishlist); Assert.That(!model.MemberIsCurrentUser); }