public async Task GivenDatabaseError() { var ex = new Exception(Faker.Random.String()); var database = CreateMock <IDatabase>(); database .Setup(x => x.FetchAsync <Product>(It.IsNotNull <Sql>())) .Throws(ex); GetDependency <INPocoDatabaseFactory>().Setup(x => x.CreateDatabase()).Returns(database.Object); Should.Throw <DataException>(async() => await TestInstance.ListAsync()) .InnerException.ShouldBe(ex); }
public async Task GivenAtLeastOneProductInDatabase() { var product = new Product { Id = Faker.Random.Guid(), Name = Faker.Random.String(), Description = Faker.Random.String(), DeliveryPrice = Faker.Random.Decimal() }; var database = CreateMock <IDatabase>(); database .Setup(x => x.FetchAsync <Product>(It.IsNotNull <Sql>())) .Returns(Task.FromResult(new List <Product> { product })); GetDependency <INPocoDatabaseFactory>().Setup(x => x.CreateDatabase()).Returns(database.Object); var products = await TestInstance.ListAsync(); products.ShouldContain(product); }