static void Main(string[] args) { var eventStore = new EventStoreMock(); var keyStore = new KeyStoreMock(); var repository = new EventRepository(eventStore, keyStore); UserRegistrationCommandService = new UserRegistrationCommandService(repository); UserRegistrationQueryService = new UserRegistrationQueryService(repository); while (!ExitCommandGiven) { Parser .Default .ParseArguments <AddOptions, VerifyOptions, SearchOptions, ExitOptions>(args) .MapResult( (AddOptions options) => Add(options).Result, (VerifyOptions options) => Verify(options).Result, (SearchOptions options) => Search(options).Result, (ExitOptions _) => Exit(), errors => 1); Console.WriteLine("Provide a command or type help for options"); args = Console.ReadLine().Split(' '); } }
public void Initialize() { EventStore = new EventStoreMock(); KeyStore = new KeyStoreMock(); var eventRepository = new EventRepository(EventStore, KeyStore); UserRegistrationCommandService = new UserRegistrationCommandService(eventRepository); UserRegistrationQueryService = new UserRegistrationQueryService(eventRepository); }
public void SavingAnAggregateWithNoEvents() { var storageMock = new EventStoreMock(); var repository = new Repository<AggregateRootMock>(storageMock); var rootMock = new AggregateRootMock(Guid.NewGuid()); repository.Save(rootMock, 0); storageMock.AssertSaveCalls(1); }
public void GetAnAggregateWithSomeEventsReturnsEvents() { var aggregateId = Guid.NewGuid(); var @event = new Event(); var storageMock = new EventStoreMock().SeedEvents(aggregateId, @event); var repository = new Repository<AggregateRootMock>(storageMock); var rootMock = new AggregateRootMock(aggregateId); rootMock.SomeEvent(@event); repository.Save(rootMock, 0); var actualRoot = repository.GetById(aggregateId); Assert.Equal(@event, actualRoot.MyEvent); }
public void SavingAnAggregateWithSomeEventsStoresThoseEventsInTheEventStore() { var storageMock = new EventStoreMock(); var repository = new Repository<AggregateRootMock>(storageMock); var rootMock = new AggregateRootMock(Guid.NewGuid()); var @event = new Event(); rootMock.SomeEvent(@event); repository.Save(rootMock, 0); storageMock.AssertSaveCalls(1); Assert.Equal(@event, rootMock.MyEvent); Assert.Equal(1, storageMock.LatestEvents.Count()); var storedEvent = storageMock.LatestEvents.First(); Assert.Equal(@event, storedEvent); }