public void Disable() { if (_disabled) { throw new AggregateException(string.Format("User {0} is already disabled", _id)); } ApplyChange(UserEvents.Disabled(_id)); }
public void DisableUser() { var id = new UserId(Guid.NewGuid()); var email = "*****@*****.**"; var metroId = 11; new CommandScenarioFor <User>(User.Factory) .Given(UserEvents.Created(email, id, metroId, false)) .When(user => user.Disable()) .Then(UserEvents.Disabled(id)) .Assert(); }
public void AlreadyDisabledUserThrows() { // this test may be mute; disabling an already disabled user may be // the result of some eventual consistency, and ignoring a second command // to disable would make the operation idempotent var id = new UserId(Guid.NewGuid()); var email = "*****@*****.**"; var metroId = 11; new CommandScenarioFor <User>(User.Factory) .Given(UserEvents.Created(email, id, metroId, false)) .Given(UserEvents.Disabled(id)) .When(user => user.Disable()) .Throws(new AggregateException(string.Format("User {0} is already disabled", id))) .Assert(); }