public async void Delete_ValidDelete() { GameProduct aGameProduct = new PhysicalGameProduct() { GameId = game.Id, Id = GameSKUId, PlatformCode = ps4Platform.PlatformCode, Game = game, Platform = ps4Platform, }; Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake(); Mock<DbSet<GameProduct>> gameProductDbSetStub = TestHelpers.GetFakeAsyncDbSet(new List<GameProduct> { aGameProduct }.AsQueryable()); gameProductDbSetStub.Setup(gp => gp.FindAsync(aGameProduct.Id)).ReturnsAsync(aGameProduct); dbStub.Setup(db => db.GameProducts).Returns(gameProductDbSetStub.Object); GameProductsController controller = new GameProductsController(dbStub.Object, idGetter: null); var result = await controller.Delete(aGameProduct.Id) as ViewResult; Assert.That(result != null); Assert.That(result.Model, Is.InstanceOf<GameProduct>()); }
public void Delete_NullID() { GameProduct gameSku = new PhysicalGameProduct(); gameSku.GameId = gameId; gameSku.Id = GameSKUId; Mock<IVeilDataAccess> dbStub = TestHelpers.GetVeilDataAccessFake(); Mock<DbSet<GameProduct>> gameProductDbSetStub = TestHelpers.GetFakeAsyncDbSet(new List<GameProduct> { gameSku }.AsQueryable()); gameProductDbSetStub.SetupForInclude(); gameProductDbSetStub.Setup(gp => gp.FindAsync(gameId)).ReturnsAsync(gameSku); dbStub.Setup(db => db.GameProducts).Returns(gameProductDbSetStub.Object); GameProductsController controller = new GameProductsController(dbStub.Object, idGetter: null); Assert.That(async () => await controller.Delete(null), Throws.InstanceOf<HttpException>().And.Matches<HttpException>(e => e.GetHttpCode() == 404)); }