public void AbortsRuleProcessing()
        {
            using (var db = new Db()
            {
                new DbItem("page1"),
                new DbItem("page2")
            })
            {
                var page1 = db.GetItem("/sitecore/content/page1");
                var page2 = db.GetItem("/sitecore/content/page2");

                var args = new GetLookupSourceItemsArgs()
                {
                    Item = page1, Source = "./*"
                };

                var ctx    = new GetLookupsourceItemsRuleContext(args);
                var action = new ForceQueryResultAction <GetLookupsourceItemsRuleContext>()
                {
                    ResultItemId = page2.ID.ToString()
                };

                action.Apply(ctx);

                ctx.IsAborted.Should().BeTrue();
            }
        }
        public void SetsResult()
        {
            using (var db = GetFakeDb())
            {
                var page = db.GetItem("/sitecore/content/page");

                var context = new GetLookupsourceItemsRuleContext(new GetLookupSourceItemsArgs()
                {
                    Item = page
                });

                var action = new ForceQueryResultAction <GetLookupsourceItemsRuleContext>()
                {
                    ResultItemId = page.ID.ToString()
                };
                action.Apply(context);

                context.Args.Result.Count.Should().Be(1);
                context.Args.Result[0].ID.Should().Be(page.ID);
            }
        }
        public void AbortsRulesExecution()
        {
            using (var db = GetFakeDb())
            {
                var page  = db.GetItem("/sitecore/content/page");
                var page2 = db.GetItem("/sitecore/content/page2");

                var context = new GetLookupsourceItemsRuleContext(new GetLookupSourceItemsArgs()
                {
                    Item   = page,
                    Result = { page2 }
                });

                var action = new ForceQueryResultAction <GetLookupsourceItemsRuleContext>()
                {
                    ResultItemId = page.ID.ToString()
                };
                action.Apply(context);

                context.IsAborted.Should().BeTrue();
            }
        }