コード例 #1
0
        public void RenderPhysicalGameProductPartial_NullUser_ReturnsPartialViewWithFalseModelProperties()
        {
            PhysicalGameProduct gameProduct = new PhysicalGameProduct();

            Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake();
            Mock<DbSet<Member>> memberDbSetStub =
                TestHelpers.GetFakeAsyncDbSet(new List<Member>().AsQueryable());
            memberDbSetStub.
                Setup(mdb => mdb.Find(It.IsAny<Guid>())).
                Returns<Member>(null);

            dbStub.
                Setup(db => db.Members).
                Returns(memberDbSetStub.Object);

            Mock<IGuidUserIdGetter> idGetterStub = TestHelpers.GetSetupIUserIdGetterFake(Guid.Empty);

            Mock<ControllerContext> contextStub = new Mock<ControllerContext>();
            contextStub.
                Setup(c => c.HttpContext.User.Identity).
                Returns<IIdentity>(null);

            GameProductsController controller = new GameProductsController(dbStub.Object, idGetterStub.Object)
            {
                ControllerContext = contextStub.Object
            };

            var result = controller.RenderPhysicalGameProductPartial(gameProduct);

            Assert.That(result != null);
            Assert.That(result.Model, Is.InstanceOf<PhysicalGameProductViewModel>());

            var model = (PhysicalGameProductViewModel) result.Model;

            Assert.That(model.GameProduct, Is.SameAs(gameProduct));
            Assert.That(model.NewIsInCart, Is.False);
            Assert.That(model.UsedIsInCart, Is.False);
            Assert.That(model.ProductIsOnWishlist, Is.False);
        }
コード例 #2
0
        public void RenderPhysicalGameProductPartial_UserWithAllInCart_ReturnsPartialViewWithTrueModelProperties()
        {
            PhysicalGameProduct gameProduct = new PhysicalGameProduct
            {
                Id = GameSKUId
            };

            Member member = new Member
            {
                UserId = new Guid("1901C42C-1094-456C-9EAA-87DDC7AFEEC8"),
                Cart = new Cart
                {
                    Items = new List<CartItem>
                    {
                        new CartItem
                        {
                            ProductId = gameProduct.Id,
                            IsNew = true
                        },
                        new CartItem
                        {
                            ProductId = gameProduct.Id,
                            IsNew = false
                        }
                    }
                },
                Wishlist = new List<Product>
                {
                    gameProduct
                }
            };

            Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake();
            Mock<DbSet<Member>> memberDbSetStub =
                TestHelpers.GetFakeAsyncDbSet(new List<Member> { member }.AsQueryable());
            memberDbSetStub.
                Setup(mdb => mdb.Find(member.UserId)).
                Returns(member);

            dbStub.
                Setup(db => db.Members).
                Returns(memberDbSetStub.Object);

            Mock<IGuidUserIdGetter> idGetterStub = TestHelpers.GetSetupIUserIdGetterFake(member.UserId);

            Mock<ControllerContext> contextStub = new Mock<ControllerContext>();
            contextStub.
                Setup(c => c.HttpContext.User.Identity).
                Returns<IIdentity>(null);

            GameProductsController controller = new GameProductsController(dbStub.Object, idGetterStub.Object)
            {
                ControllerContext = contextStub.Object
            };

            var result = controller.RenderPhysicalGameProductPartial(gameProduct);

            Assert.That(result != null);
            Assert.That(result.Model, Is.InstanceOf<PhysicalGameProductViewModel>());

            var model = (PhysicalGameProductViewModel)result.Model;

            Assert.That(model.GameProduct, Is.SameAs(gameProduct));
            Assert.That(model.NewIsInCart, Is.True);
            Assert.That(model.UsedIsInCart, Is.True);
            Assert.That(model.ProductIsOnWishlist, Is.True);
        }