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 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 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); }
private void Apply(UserChangedPassword evt) { _password = evt.NewPassword; }