public async Task Given_creating_order_state_When_order_created_Then_add_items_to_order_command_is_issued() { var calculator = new InMemoryPriceCalculator(); var factory = new BuyNowProcessStateFactory(); var scenario = ProcessScenario.New <BuyNowState>(new BuyNow(calculator), factory); var state = scenario.NewState(nameof(BuyNow.CreatingOrder), c => c.Without(d => d.ReserveId)); calculator.Add(state.SkuId, new Money(100)); await scenario.Given(state) .When(new OrderCreated(state.OrderId, 123, state.UserId, OrderStatus.Created)) .Then( new AddItemToOrderCommand(state.OrderId, state.SkuId, state.Quantity, await calculator.CalculatePrice(state.SkuId, state.Quantity))) .Run() .CheckProducedCommands() .CheckOnlyStateNameChanged(nameof(BuyNow.AddingOrderItems)); }
public BuyNowProcess_tests() { _inMemoryPriceCalculator = new InMemoryPriceCalculator(); _buyNowProcessStateFactory = new BuyNowProcessStateFactory(); }