Example #1
0
        public void ShouldNotInvokeHookAction_IfNotAcceptableEntityType()
        {
            var entry = SetupDbEntityEntry(new object(), EntityState.Unchanged);
            var hook  = new DbHook <FooEntityStub>(stub => Assert.Fail("Hook invoked"));

            hook.HookEntry(entry);

            Assert.Pass("Hook not invoked");
        }
Example #2
0
        public void ShouldNotInvokeHookAction_IfNotAcceptableEntityState(EntityState acceptableState, EntityState entityState)
        {
            var entry = SetupDbEntityEntry(new FooEntityStub(), entityState);
            var hook  = new DbHook <FooEntityStub>(stub => Assert.Fail("Hook invoked"), acceptableState);

            hook.HookEntry(entry);

            Assert.Pass("Hook not invoked");
        }
Example #3
0
        /// <summary>
        /// Sets the action to be invoked by hook.
        /// </summary>
        /// <param name="hookAction">The hook action.</param>
        public void Do(Action <T> hookAction)
        {
            var hook = new DbHook <T>(
                obj =>
            {
                if (_predicate(obj))
                {
                    hookAction(obj);
                }
            },
                _entityState);

            RegisterHook(_dbHookRegistrar, hook);
        }