public async Task HandleIsOnlyCalledOnce() { var dateTimeOffset = 1; var domainEventWrapper = new SubscribedDomainEventWrapper { OverallVersion = dateTimeOffset, DomainEvent = new TestEv2(Guid.NewGuid()) }; var handleAsync = new Handler1(); var handleAsync2 = new Handler2(); var eventDelegateHandler1 = new AsyncEventHandler <Handler1, TestEv2>( new VersionRepositoryMongoDb(EventMongoDb), new EventFeedMock(dateTimeOffset, domainEventWrapper), handleAsync); var eventDelegateHandler2 = new AsyncEventHandler <Handler1, TestEv2>( new VersionRepositoryMongoDb(EventMongoDb), new EventFeedMock(dateTimeOffset, domainEventWrapper), handleAsync2); await eventDelegateHandler1.UpdateAsync(); await eventDelegateHandler2.UpdateAsync(); Assert.AreEqual(1, handleAsync.TimesCalled); Assert.AreEqual(1, handleAsync2.TimesCalled); }
public Task <IEnumerable <SubscribedDomainEventWrapper> > GetEventsAsync(long lastVersion = 0) { var domainEventWrapper = new SubscribedDomainEventWrapper { EntityStreamVersion = 15, DomainEvent = new TestEvnt1(ReadModelHandlerTests.EntityGuid, "ersterName") }; var domainEventWrappe2 = new SubscribedDomainEventWrapper { EntityStreamVersion = 17, DomainEvent = new TestEvnt1(ReadModelHandlerTests.EntityGuid, "zweiterName") }; var list = new List <SubscribedDomainEventWrapper> { domainEventWrapper, domainEventWrappe2 }; return(Task.FromResult((IEnumerable <SubscribedDomainEventWrapper>)list)); }
public static Task <IEnumerable <SubscribedDomainEventWrapper> > MakeEvents() { var wrapper1 = new SubscribedDomainEventWrapper { EntityStreamVersion = 12, DomainEvent = new TestEvnt1(EntityGuid, "testName") }; var wrapper2 = new SubscribedDomainEventWrapper { EntityStreamVersion = 14, DomainEvent = new TestEvnt2(EntityGuid2) }; var list = new List <SubscribedDomainEventWrapper> { wrapper1, wrapper2 }; return(Task.FromResult((IEnumerable <SubscribedDomainEventWrapper>)list)); }
public EventFeedMock(long globalVersion, SubscribedDomainEventWrapper domainEventWrapper) { _globalVersion = globalVersion; _domainEventWrapper = domainEventWrapper; }