Пример #1
0
        public void SetUp()
        {
            _thingySagaId = A <ThingySagaId>();
            _thingySaga   = InjectMock <ThingySaga>(_thingySagaId);

            Inject <IMemoryCache>(A <DictionaryMemoryCache>());
        }
Пример #2
0
        private Task <ThingySaga> LoadSagaAsync(ThingyId thingyId)
        {
            // This is specified in the ThingySagaLocator
            var expectedThingySagaId = new ThingySagaId($"saga-{thingyId.Value}");

            return(AggregateStore.LoadAsync <ThingySaga, ThingySagaId>(
                       expectedThingySagaId,
                       CancellationToken.None));
        }
Пример #3
0
        public void SetUp()
        {
            _thingySagaId = A <ThingySagaId>();
            _thingySaga   = InjectMock <ThingySaga>(_thingySagaId);

            InjectMock <IServiceProvider>()
            .Setup(m => m.GetService(typeof(ICommandBus)))
            .Returns(Mock <ICommandBus>());
        }
Пример #4
0
        public async Task SetUp()
        {
            _thingySagaId = A <ThingySagaId>();
            _commandBus   = InjectMock <ICommandBus>();
            _sagaContext  = InjectMock <ISagaContext>();

            await Sut.HandleAsync(
                A <DomainEvent <ThingyAggregate, ThingyId, ThingySagaStartRequestedEvent> >(),
                _sagaContext.Object,
                CancellationToken.None);
        }
Пример #5
0
        private Mock <IAggregateStore> ArrangeAggregateStoreMock(
            ThingySagaId thingySagaId,
            ISourceId sourceId,
            bool returnsDomainEvents)
        {
            var aggregateStoreMock = InjectMock <IAggregateStore>();
            var domainEvents       = ManyDomainEvents <ThingyPingEvent>(returnsDomainEvents ? 3 : 0)
                                     .Cast <IDomainEvent>()
                                     .ToList();

            aggregateStoreMock
            .Setup(s => s.UpdateAsync(
                       thingySagaId,
                       sourceId,
                       It.IsAny <Func <ThingySaga, CancellationToken, Task> >(),
                       It.IsAny <CancellationToken>()))
            .Callback <ThingySagaId, ISourceId, Func <ThingySaga, CancellationToken, Task>, CancellationToken>(
                (id, sid, f, c) => f(_thingySaga.Object, CancellationToken.None).Wait(c))
            .ReturnsAsync(domainEvents);
            return(aggregateStoreMock);
        }