Example #1
0
        public async Task then_all_activated_tokens_should_be_deactivated()
        {
            // arrange
            var placeOrder = new PlaceOrder(
                aggregateId: Any.Guid,
                billingAccountId: BillingAccountId,
                catalogId: CatalogId,
                quantity: 5,
                activateImmediately: true,
                idempotencyToken: Any.IdempotencyToken,
                correlationId: ScenarioCorrelationId);

            Clock.AdvanceBy(OneDay);

            // act
            await Bus.Send(placeOrder);

            await Bus.Flush();

            // assert
            Orders.Single().Should().BeEquivalentTo(
                new
            {
                Id               = placeOrder.AggregateId,
                Version          = 1,
                CatalogId        = placeOrder.CatalogId,
                BillingAccountId = placeOrder.BillingAccountId,
                Quantity         = placeOrder.Quantity,
                State            = Canceled,
                Tokens           = new List <string>()
            });
            Tokens.Should().OnlyContain(token => token.State == Circulated);
        }