public void ShouldSaveEvents() { // ARRANGE var repository = new SqliteEventRepository(_connectionString); var testEvent = new SqliteTestEvent { DummyPayload = "Hello, World!", }; var e = testEvent.ToEventData("TestAggregate", _aggregateId, 1); // ACT var events = repository.SaveEvents(new[] { e }); // ASSERT Assert.AreEqual(1, events.Length); Assert.AreNotEqual(0, events.First().Ordering); }
public void ShouldSaveMultipleEvents() { // ARRANGE var repository = new SqliteEventRepository(_connectionString); var testEvent = new SqliteTestEvent { DummyPayload = "Hello, World!", }; const int numberOfEvents = 100; var eventsToSave = Enumerable.Range(1, numberOfEvents) .Select(x => testEvent.ToEventData("TestAggregate", _aggregateId, x)) .ToArray(); // ACT var events = repository.SaveEvents(eventsToSave); // ASSERT Assert.AreEqual(numberOfEvents, events.Length); Assert.IsFalse(events.Any(x => x.Ordering == 0)); Assert.AreEqual(numberOfEvents, events.Select(x => x.Ordering).Distinct().Count()); }