public void IfStockIsTrackedAVariantWithEqualOrMoreThanTheRequestedAmountShouldBeAvailable(int remaining) { ProductVariant productVariant = new ProductVariantBuilder().Build(); ProductStockChecker productStockChecker = new ProductStockCheckerBuilder().StockRemaining(remaining).Build(); productStockChecker.CanOrderQuantity(productVariant, 2).CanOrder.Should().BeTrue(); }
public void IfStockIsTrackedAVariantWithLessThanTheRequestedAmountShouldNotBeAvailable() { ProductVariant productVariant = new ProductVariantBuilder().StockRemaining(1).Build(); ProductStockChecker productStockChecker = new ProductStockCheckerBuilder().Build(); productStockChecker.CanOrderQuantity(productVariant, 2).CanOrder.Should().BeFalse(); }
public void IfTheStockLevelIsBelowTheRequestedAmountItShouldBeReturned() { ProductVariant productVariant = new ProductVariantBuilder().Build(); ProductStockChecker productStockChecker = new ProductStockCheckerBuilder().StockRemaining(1).Build(); productStockChecker.CanOrderQuantity(productVariant, 2).StockRemaining.Should().Be(1); }
public void UntrackedVariantsAreAvailableInAnyQuantity() { ProductVariant productVariant = new ProductVariantBuilder().DoNotTrackStock().Build(); ProductStockChecker productStockChecker = new ProductStockCheckerBuilder().Build(); productStockChecker.CanOrderQuantity(productVariant, 999).CanOrder.Should().BeTrue(); }