Exemple #1
0
        public void Given_events_When_save_by_events_repository_Then_events_can_be_fetched()
        {
            var events = new DomainEvent[]
            {
                new Message(Guid.NewGuid())
                {
                    Id = 1
                },
                new Message2(Guid.NewGuid())
                {
                    Id = 2
                }
            };

            var persistId = "testId";
            var saveTime  = BusinessDateTime.UtcNow;
            var repo      = CreateRepository();

            repo.Save(persistId, events);

            var eventsLoaded = repo.Load(persistId).Where(e => e.CreatedTime >= saveTime).Cast <Message>();

            CollectionAssert.AreEquivalent(events.Cast <Message>().Select(e => e.Id), eventsLoaded.Select(e => e.Id));
        }