public async Task AddProductAsync_ShouldFail_WhenCartIsNull() { // Arrange _fixture.Behaviors.Add(new OmitOnRecursionBehavior()); var quantity = _fixture.Create <int>(); var cart = _fixture.Create <Cart>(); var product = _fixture.Create <Product>(); var expectedException = new KeyNotFoundException($"{typeof(Cart)} with id {cart.Id} was not found"); _productRepository.GetAsync(product.Id).Returns(product); // Act var result = await Assert.ThrowsAsync <KeyNotFoundException>(async() => await _sut.AddProductAsync(cart.Id, product.Id, quantity)); // Assert Assert.Equal(expectedException.Message, result.Message); }