public ConsoleClient() { var userRepository = new UserRepositoryInMemory(); var trackRepository = new TrackRepositoryInMemory(); var eventRepository = new EventRepositoryInMemory(); _userService = new UserService(userRepository); _tracksService = new TracksService(trackRepository, eventRepository); _eventService = new EventService(eventRepository, trackRepository); }
public async Task EventFeedsParsesEventCorrectly_NotBeingSubscribedEvent() { var eventRepositoryInMemory = new EventRepositoryInMemory(); var domainEvents = new List <IDomainEvent> { new UnitTestsPublished.EventPublishedAndSubscribed("123", "add") }; (await eventRepositoryInMemory.AppendAsync(domainEvents, 0)).Check(); var localEventFeed = new LocalEventFeed <ReadModelEventHandler <ReadModelWithNotSubbedEvent> >(eventRepositoryInMemory); var eventsAsync = (await localEventFeed.GetEventsAsync()).ToList(); Assert.AreEqual(0, eventsAsync.Count); }
public void TryCreate_TryGetEventsByTrack() { var repository = new EventRepositoryInMemory(); var eventId = Guid.NewGuid(); var trackId = Guid.NewGuid(); var newEvent = new Event(eventId, DateTime.Now, trackId, new Customizations()); repository.TryCreate(newEvent); var gotEvents = repository.TryGetEventsByTrack(trackId); Assert.AreEqual(eventId, gotEvents.First().Id); }
public async Task EventFeedsParsesEventCorrectly_ReadModel() { var eventRepositoryInMemory = new EventRepositoryInMemory(); var domainEvents = new List <IDomainEvent> { new UnitTestsPublished.EventPublishedAndSubscribed("123", "add") }; (await eventRepositoryInMemory.AppendAsync(domainEvents, 0)).Check(); var localEventFeed = new LocalEventFeed <ReadModelEventHandler <ReadModelForModolith> >(eventRepositoryInMemory); var eventsAsync = (await localEventFeed.GetEventsAsync()).ToList(); var subscribedDomainEvent = eventsAsync.Single().DomainEvent as UnitTestsSubscribed.EventPublishedAndSubscribed; Assert.AreEqual("add", subscribedDomainEvent.Addition); }
public void TryDelete() { var repository = new EventRepositoryInMemory(); var eventId = Guid.NewGuid(); var trackId = Guid.NewGuid(); var newEvent = new Event(eventId, DateTime.Now, trackId, new Customizations()); repository.TryCreate(newEvent); repository.TryDelete(eventId); var gotEvents = repository.TryGetEventsByTrack(trackId); Assert.IsEmpty(gotEvents); }
public static IServiceCollection AddMicrowavePersistenceLayerInMemory(this IServiceCollection services, Action <DomainEventSeeding> addEventSeeding = null) { addEventSeeding = addEventSeeding ?? (d => { }); var domainEventSeeding = new DomainEventSeeding(); addEventSeeding.Invoke(domainEventSeeding); var eventRepositoryInMemory = new EventRepositoryInMemory(domainEventSeeding.DomainEventSeeds); services.AddSingleton <IStatusRepository, StatusRepositoryInMemory>(); services.AddSingleton <IVersionRepository, VersionRepositoryInMemory>(); services.AddSingleton <IReadModelRepository, ReadModelRepositoryInMemory>(); services.AddSingleton <IEventRepository>(eventRepositoryInMemory); services.AddSingleton <ISnapShotRepository, SnapShotRepositoryInMemory>(); return(services); }