public void AcceptingEvents_GivenAggregateWithUncommittedEvents_ShouldClearUncommittedEvents() { // Arrange var user = new User(); user.Register(); user.ChangePassword("newpassword"); // Act var userRegisteredEvent = new UserRegistered(user.Id); var userChangedPasswordEvent = new UserChangedPassword("newpassword") { ParentVersion = userRegisteredEvent.Version }; IEnumerable <object> expectedBefore = new object[] { userRegisteredEvent, userChangedPasswordEvent }; IEnumerable <object> expectedAfter = new object[0]; IEnumerable <object> before = user.GetUncommittedEvents(); user.AcceptUncommittedEvents(); IEnumerable <object> after = user.GetUncommittedEvents(); // Assert CollectionAssertAreJsonEqual(expectedBefore, before); CollectionAssertAreJsonEqual(expectedAfter, after); }
public void GivenNewEvent_WhenSettingParentVersion_ThenShouldSetParentVersion() { // Arrange var userId = Guid.Parse("00000000-0000-0000-0000-000000000001"); var userRegisteredEvent = new UserRegistered(userId); var userChangedPasswordEvent = new UserChangedPassword("newpassword"); var versionHandler = new RuntimeConfiguredVersionHandler(); versionHandler.AddConfiguration <UserChangedPassword>(null, (e, v) => e.ParentVersion = v); // Act versionHandler.SetParentVersion(userChangedPasswordEvent, userRegisteredEvent.Version); // Assert Assert.AreEqual(userRegisteredEvent.Version, userChangedPasswordEvent.ParentVersion); }
public void InvokingBehaviour_GivenSimpleAggregateRoot_ShouldRecordEvents() { // Arrange var user = new User(); user.Register(); // Act user.ChangePassword("newpassword"); IEnumerable <object> actual = user.GetUncommittedEvents(); var userRegisteredEvent = new UserRegistered(user.Id); var userChangedPasswordEvent = new UserChangedPassword("newpassword") { ParentVersion = userRegisteredEvent.Version }; IEnumerable <object> expected = new object[] { userRegisteredEvent, userChangedPasswordEvent }; // Assert CollectionAssertAreJsonEqual(expected, actual); }
void Apply(UserChangedPassword e) { _hasedPassword = e.Password; }