public void NotGenerateShippingSlipWhenOrderHasNotPhysicalProducts() { var businessRules = new List <IBusinessRule> { _shippingSlip }; var purchaseOrderService = new PurchaseOrderService(businessRules); purchaseOrderService.Process(_orderWithDigitalProducts); _shippingSlipServiceMock.Verify(s => s.GenerateShippingSlip(OrderId, CustomerId, It.IsAny <IEnumerable <Product> >()), Times.Never); }
public void NotActivateMembershipWhenProcessProductsOrder() { var businessRules = new List <IBusinessRule> { _activateMembership }; var purchaseOrderService = new PurchaseOrderService(businessRules); purchaseOrderService.Process(_orderWithPhysicalProducts); _customerServiceMock.Verify(c => c.ActivateMembership(CustomerId, It.IsAny <Membership>()), Times.Never); }
public void ActivateMembershipWhenProcessMembershipOrder() { var businessRules = new List <IBusinessRule> { _activateMembership }; var purchaseOrderService = new PurchaseOrderService(businessRules); purchaseOrderService.Process(_orderWithMembership); _customerServiceMock.Verify(c => c.ActivateMembership(CustomerId, It.IsAny <Membership>())); }
public void GenerateShippingSlipForPhysicalProducts() { var businessRules = new List <IBusinessRule> { _shippingSlip }; var purchaseOrderService = new PurchaseOrderService(businessRules); purchaseOrderService.Process(_orderWithPhysicalProducts); Expression <Func <IEnumerable <Product>, bool> > collectionContainsPhysicalProductPredicate = ps => ps.First().Title == TheGirlOnTheTrainTitle && ps.Count() == 1; _shippingSlipServiceMock.Verify(s => s.GenerateShippingSlip(OrderId, CustomerId, It.Is(collectionContainsPhysicalProductPredicate)), Times.Once); }