public void DeletingAnAggregateDoesNotPreventEventsForItFromBeingRaised()
{
var store = CreateStore();
var user1 = new User();
user1.Register("[email protected]", "password", Guid.NewGuid());
var user2 = new User();
user2.Register("[email protected]", "password", Guid.NewGuid());
using (var session = OpenSession(store))
{
session.Save(user1);
session.Save(user2);
session.SaveChanges();
}
Bus.Reset();
using (var session = OpenSession(store))
{
user1 = session.Get<User>(user1.Id);
user1.ChangeEmail("new_email");
session.Delete(user1.Id);
session.SaveChanges();
var published = Bus.Published.ToList();
Assert.That(published.Count, Is.EqualTo(1));
Assert.That(published[0], Is.InstanceOf<UserChangedEmail>());
}
}