SortForm() приватный Метод

private SortForm ( SortModel model ) : System.Web.Mvc.JsonResult
model Rebel.Cms.Web.Model.BackOffice.Editors.SortModel
Результат System.Web.Mvc.JsonResult
Пример #1
0
        public void ContentEditorControllerTests_Sort_Invalidated()
        {
            //Arrange

            var parentEntity = CreateEntityRevision(new RegexPropertyEditor());
            var subEntity1 = CreateEntityRevision(new RegexPropertyEditor());
            var subEntity2 = CreateEntityRevision(new RegexPropertyEditor());
            var subEntity3 = CreateEntityRevision(new RegexPropertyEditor());
            //setup the relations
            using (var writer = RebelApplicationContext.Hive.OpenWriter<IContentStore>())
            {
                writer.Repositories.AddRelation(parentEntity.Item, subEntity1.Item, FixedRelationTypes.DefaultRelationType, 0);
                writer.Repositories.AddRelation(parentEntity.Item, subEntity2.Item, FixedRelationTypes.DefaultRelationType, 0);
                writer.Repositories.AddRelation(parentEntity.Item, subEntity3.Item, FixedRelationTypes.DefaultRelationType, 0);
                writer.Complete();
            }

            //var controller = new ContentEditorController(GetBackOfficeRequestContext());
            var controller = new SortController(GetBackOfficeRequestContext());
            controller.InjectDependencies(new Dictionary<string, string>(), new Dictionary<string, string>(), GetBackOfficeRequestContext());

            //Act

            //a model not containing any of the id's or sort indexes
            var result = controller.SortForm(new SortModel());
            var model = new BendyObject(result.Data);

            //Assert

            dynamic check = model.AsDynamic();

            Assert.AreEqual("ValidationError", check.failureType);
            Assert.AreEqual("false", check.success);
        }
Пример #2
0
        public void ContentEditorControllerTests_Sort_Success()
        {
            //Arrange

            var parentEntity = CreateEntityRevision(new RegexPropertyEditor());
            var subEntity1 = CreateEntityRevision(new RegexPropertyEditor());
            var subEntity2 = CreateEntityRevision(new RegexPropertyEditor());
            var subEntity3 = CreateEntityRevision(new RegexPropertyEditor());
            //setup the relations
            using (var writer = RebelApplicationContext.Hive.OpenWriter<IContentStore>())
            {
                writer.Repositories.AddRelation(parentEntity.Item, subEntity1.Item, FixedRelationTypes.DefaultRelationType, 0);
                writer.Repositories.AddRelation(parentEntity.Item, subEntity2.Item, FixedRelationTypes.DefaultRelationType, 0);
                writer.Repositories.AddRelation(parentEntity.Item, subEntity3.Item, FixedRelationTypes.DefaultRelationType, 0);
                writer.Complete();
            }

            var controller = new SortController(GetBackOfficeRequestContext());
            controller.InjectDependencies(new Dictionary<string, string>(), new Dictionary<string, string>(), GetBackOfficeRequestContext(), false);

            //Act

            //a model not containing any of the id's or sort indexes
            var result = controller.SortForm(new SortModel
                {
                    ParentId = parentEntity.Item.Id,
                    Items = new[]
                        {
                            new SortItem {Id = subEntity1.Item.Id, SortIndex = 2},
                            new SortItem {Id = subEntity2.Item.Id, SortIndex = 1},
                            new SortItem {Id = subEntity3.Item.Id, SortIndex = 0},
                        }
                }) as CustomJsonResult;

            //Assert

            Assert.IsNotNull(result);

            var json = JObject.Parse(result.OutputJson());
            Assert.AreEqual(true, json["success"].Value<bool>());

            using (var uow = RebelApplicationContext.Hive.OpenReader<IContentStore>())
            {
                var children = uow.Repositories.GetChildRelations(parentEntity.Item, FixedRelationTypes.DefaultRelationType).ToArray();

                Assert.That(children.Length, Is.EqualTo(3));

                Assert.AreEqual(0, children.Where(x => x.DestinationId == subEntity3.Item.Id).Single().Ordinal);
                Assert.AreEqual(1, children.Where(x => x.DestinationId == subEntity2.Item.Id).Single().Ordinal);
                Assert.AreEqual(2, children.Where(x => x.DestinationId == subEntity1.Item.Id).Single().Ordinal);
            }
        }