public async Task IsCallHandlersThatReturnTrueForModify() { mockIChangeEventHandlerOne.CanHandleReturn = true; mockIChangeEventHandlerTwo.CanHandleReturn = false; await _changeTracker.BroadcastModify(new object(), new object(), new Mock <IIdentity>().Object); mockIChangeEventHandlerOne.OnChangeCalled.ShouldBeTrue(); mockIChangeEventHandlerTwo.OnChangeCalled.ShouldBeFalse(); }
public async Task <bool> Modify <T>(T model, IIdentity identity) where T : class, IDataModel { model.ThrowIfNull(nameof(model)); identity.ThrowIfNull(nameof(identity)); var original = await GetModel <T>(model.Id); if (original == null) { return(false); } await _dataMutator.BeforeModify(original, model, identity); await ModifyRecord(original, model); await _changeTracker.BroadcastModify(original, model, identity); return(true); }