private static async Task AppendEvent(Guid aggregateId) { IAggregateSchemaRegister schemaRegister = new AggregateSchemaRegister(); schemaRegister.Discover(typeof(EventStoreIntegrationTests).Assembly); var stream = GetStream(await Connect(), new AggregateSchema <HotelAggregate>(schemaRegister.Get(typeof(HotelAggregate)))); //await stream.Append(aggregateId, ExpectedVersion.Any,Guid.NewGuid(),new RoomAdded() {Number = "101"}); throw new NotImplementedException(); }
void PrepareEvents(params Assembly[] assemblies) { this._aggregateSchemaRegister = new AggregateSchemaRegister(); _aggregateSchemaRegister.Discover(assemblies); _events = new List <EventEntry>(); foreach (IAggregateSchema i in _aggregateSchemaRegister) { foreach (var e in i.Events) { _events.Add(new EventEntry(e.EventType, i)); } } }
public async Task AggregateShouldWorkWithEventStore() { IAggregateSchemaRegister schemaRegister = new AggregateSchemaRegister(); schemaRegister.Discover(typeof(EventStoreIntegrationTests).Assembly); var hotelSchema = new AggregateSchema <HotelAggregate>(schemaRegister.Get(typeof(HotelAggregate))); var stream = GetStream(await Connect(), hotelSchema); var aggregateId = Guid.NewGuid(); await stream.Append(aggregateId, -2, Guid.NewGuid(), new RoomAdded() { Number = "101" }); stream = GetStream(await Connect(), hotelSchema); var items = stream.Get(aggregateId); HotelAggregate aggregate = new HotelAggregate(); await aggregate.RehydrateAsync(items); // aggregate.Value.AvailableRooms.Should().HaveCount(1); }