public AggregateEventRouterTests() { aggregate = Substitute.For <IAggregateRoot>(); aggregate.Id.Returns(Guid.NewGuid()); sut = new AggregateEventRouter(aggregate); }
public void RegisterEvents_RegistersAllHandlers() { var sut = new ConventionEventApplyRegistrator(); var entity = new MyEntity(); var aggregate = Substitute.For <IAggregateRoot>(); var router = new AggregateEventRouter(aggregate); sut.RegisterEvents(entity, router); var ev1 = new Event1(); router.Publish(ev1); Assert.Equal(ev1, entity.Events[0]); }
/// <summary> /// Only to be used by by ORMs like EF and the second chained constructor. /// </summary> protected AggregateRoot() { EventRouter = new AggregateEventRouter(this); }
public AggregateRoot(Guid id) : base(id) { EventRouter = new AggregateEventRouter(this); }