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 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 UntrackedVariantsAreAvailableInAnyQuantity() { ProductVariant productVariant = new ProductVariantBuilder().DoNotTrackStock().Build(); ProductStockChecker productStockChecker = new ProductStockCheckerBuilder().Build(); productStockChecker.CanOrderQuantity(productVariant, 999).CanOrder.Should().BeTrue(); }
public void IfStockIsTrackedAVariantWithSomeStockRemainingStockShouldBeInStock() { ProductVariant productVariant = new ProductVariantBuilder().StockRemaining(1).Build(); ProductStockChecker productStockChecker = new ProductStockCheckerBuilder().StockRemaining(1).Build(); productStockChecker.IsInStock(productVariant).Should().BeTrue(); }
public void IfStockIsTrackedAVariantWithZeroRemainingStockShouldNotBeInStock() { ProductVariant productVariant = new ProductVariantBuilder().Build(); ProductStockChecker productStockChecker = new ProductStockCheckerBuilder().StockRemaining(0).Build(); productStockChecker.IsInStock(productVariant).Should().BeFalse(); }
public void UntrackedVariantsAreAlwaysInStock() { ProductVariant productVariant = new ProductVariantBuilder().DoNotTrackStock().Build(); ProductStockChecker productStockChecker = new ProductStockCheckerBuilder().Build(); productStockChecker.IsInStock(productVariant).Should().BeTrue(); }