Esempio n. 1
0
        public void WishlistDetail_GameIsNotFound_Throws404Exception()
        {
            var platforms = new List<Platform>
            {
                new Platform
                {
                    PlatformCode = "TPlat",
                    PlatformName = "Test Platform"
                },
                new Platform
                {
                    PlatformCode = "OTPlat",
                    PlatformName = "Other Test Platform"
                },
            };

            List<GameProduct> products = new List<GameProduct>
            {
                new PhysicalGameProduct
                {
                    Id = new Guid("D9825FE1-F575-4C36-ACAA-98BA71FACFA8"),
                    Platform = platforms[0]
                },
                new PhysicalGameProduct
                {
                    Id = new Guid("F546AD43-58C8-44FE-9799-ACC7F0B6368E"),
                    Platform = platforms[1]
                }
            };

            var game = new Game
            {
                Id = new Guid("09BD7D30-5268-4A02-A400-1F302040B6AA"),
                GameSKUs = products
            };

            platforms[0].GameProducts = new List<GameProduct>
            {
                products[0]
            };
            platforms[1].GameProducts = new List<GameProduct>
            {
                products[1]
            };

            var members = new List<Member>
            {
                new Member
                {
                    UserId = new Guid("1369019C-8F25-427A-A8F1-00287247D4AE"),
                    Wishlist = new List<Product>
                    {
                        products[0]
                    }
                },
                new Member
                {
                    UserId = new Guid("D814D26E-AD33-48C5-9518-EA43B75AE5AC"),
                    Wishlist = new List<Product>
                    {
                        products[0],
                        products[1]
                    }
                }
            };

            Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake();

            Mock<DbSet<Game>> gameDbSetStub = TestHelpers.GetFakeAsyncDbSet(new List<Game> { game }.AsQueryable());
            dbStub.Setup(db => db.Games).Returns(gameDbSetStub.Object);

            Mock<DbSet<Platform>> platformDbSetStub = TestHelpers.GetFakeAsyncDbSet(platforms.AsQueryable());
            dbStub.Setup(db => db.Platforms).Returns(platformDbSetStub.Object);

            Mock<DbSet<Member>> memberDbSetStub = TestHelpers.GetFakeAsyncDbSet(members.AsQueryable());
            dbStub.Setup(db => db.Members).Returns(memberDbSetStub.Object);

            ReportsController controller = new ReportsController(dbStub.Object);

            Assert.That(async () => await controller.WishlistDetail(new Guid("9E073E71-1A1E-4B51-A4CA-AE820BEBEA91")), Throws.InstanceOf<HttpException>().And.Matches<HttpException>(ex => ex.GetHttpCode() == 404));
        }
Esempio n. 2
0
        public async void WishlistDetail_GameWithProducts_Wishlisted_IsInModel()
        {
            var platforms = new List<Platform>
            {
                new Platform
                {
                    PlatformCode = "TPlat",
                    PlatformName = "Test Platform"
                },
                new Platform
                {
                    PlatformCode = "OTPlat",
                    PlatformName = "Other Test Platform"
                },
            };

            List<GameProduct> products = new List<GameProduct>
            {
                new PhysicalGameProduct
                {
                    Id = new Guid("D9825FE1-F575-4C36-ACAA-98BA71FACFA8"),
                    Platform = platforms[0]
                },
                new PhysicalGameProduct
                {
                    Id = new Guid("F546AD43-58C8-44FE-9799-ACC7F0B6368E"),
                    Platform = platforms[1]
                }
            };

            var game = new Game
            {
                Id = new Guid("09BD7D30-5268-4A02-A400-1F302040B6AA"),
                GameSKUs = products
            };

            platforms[0].GameProducts = new List<GameProduct>
            {
                products[0]
            };
            platforms[1].GameProducts = new List<GameProduct>
            {
                products[1]
            };

            var members = new List<Member>
            {
                new Member
                {
                    UserId = new Guid("1369019C-8F25-427A-A8F1-00287247D4AE"),
                    Wishlist = new List<Product>
                    {
                        products[0]
                    }
                },
                new Member
                {
                    UserId = new Guid("D814D26E-AD33-48C5-9518-EA43B75AE5AC"),
                    Wishlist = new List<Product>
                    {
                        products[0],
                        products[1]
                    }
                }
            };

            Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake();

            Mock<DbSet<Game>> gameDbSetStub = TestHelpers.GetFakeAsyncDbSet(new List<Game> { game }.AsQueryable());
            dbStub.Setup(db => db.Games).Returns(gameDbSetStub.Object);

            Mock<DbSet<Platform>> platformDbSetStub = TestHelpers.GetFakeAsyncDbSet(platforms.AsQueryable());
            dbStub.Setup(db => db.Platforms).Returns(platformDbSetStub.Object);

            Mock<DbSet<Member>> memberDbSetStub = TestHelpers.GetFakeAsyncDbSet(members.AsQueryable());
            dbStub.Setup(db => db.Members).Returns(memberDbSetStub.Object);

            ReportsController controller = new ReportsController(dbStub.Object);

            var result = await controller.WishlistDetail(game.Id) as ViewResult;

            Assert.That(result != null);

            var model = (WishlistDetailGameViewModel)result.Model;

            Assert.That(model.GameProducts.Count(), Is.EqualTo(2));
            Assert.That(model.GameProducts.First().WishlistCount, Is.EqualTo(2));
            Assert.That(model.GameProducts.Last().WishlistCount, Is.EqualTo(1));
            Assert.That(model.WishlistCount, Is.EqualTo(3));
        }
Esempio n. 3
0
        public void WishlistDetail_GameIdIsNull_Throws404Exception()
        {
            var controller = new ReportsController(null);

            Assert.That(async () => await controller.WishlistDetail(null), Throws.InstanceOf<HttpException>().And.Matches<HttpException>(ex => ex.GetHttpCode() == 404));
        }