示例#1
0
        public GridBuilderTests()
        {
            Mock <HtmlTextWriter> writer = new Mock <HtmlTextWriter>(TextWriter.Null);

            grid    = GridTestHelper.CreateGrid <Customer>(writer.Object, null);
            builder = new GridBuilder <Customer>(grid);
        }
示例#2
0
        public void Should_create_template_builder_if_inline_template_is_set()
        {
            var column = new GridBoundColumn <User, bool>(GridTestHelper.CreateGrid <User>(), u => u.Active);

            column.InlineTemplate = delegate { return(null); };
            column.CreateDisplayBuilder(null).ShouldBeType <GridTemplateCellBuilder <User> >();
        }
示例#3
0
        public void Should_create_displayfor_builder()
        {
            var column  = new GridBoundColumn <User, bool>(GridTestHelper.CreateGrid <User>(), u => u.Active);
            var builder = column.CreateDisplayBuilder(null);

            builder.ShouldBeType <GridDisplayForCellBuilder <User, bool> >();
        }
示例#4
0
        public void ClientTemplate_sanitized()
        {
            var column = new GridBoundColumn <User, string>(GridTestHelper.CreateGrid <User>(), u => u.Name);

            column.ClientTemplate = "&lt;#= Name #>";
            Assert.Equal("<#= Name #>", column.ClientTemplate);
        }
示例#5
0
        public void Should_use_foreignKeyDataBuilder()
        {
            var column  = new GridForeignKeyColumn <BoundColumnTests.User, bool>(GridTestHelper.CreateGrid <BoundColumnTests.User>(), u => u.Active, new System.Web.Mvc.SelectList(new object[0]));
            var builder = column.CreateDisplayBuilder(null);

            builder.ShouldBeType <GridForeignKeyDataCellBuilder <BoundColumnTests.User, bool> >();
        }
示例#6
0
        public void Name_should_be_extracted_correctly_from_indexer_expression_with_bound_argument()
        {
            var argument = 0;

            var column = new GridBoundColumn <Product, string>(GridTestHelper.CreateGrid <Product>(), p => p.Categories[argument].Owner.Name);

            Assert.Equal("Categories[0].Owner.Name", column.Member);
        }
示例#7
0
        public void Should_create_edit_builder_if_column_is_readonly()
        {
            var column = new GridBoundColumn <User, bool>(GridTestHelper.CreateGrid <User>(), u => u.Active);

            var builder = column.CreateEditBuilder(null);

            builder.ShouldBeType <GridEditorForCellBuilder <User, bool> >();
        }
示例#8
0
        public void Should_return_display_builder_if_readonly()
        {
            var column = new GridBoundColumn <User, bool>(GridTestHelper.CreateGrid <User>(), u => u.Active);

            column.ReadOnly = true;

            column.CreateEditBuilder(null).ShouldBeType <GridDisplayForCellBuilder <User, bool> >();
        }
示例#9
0
        public void Should_not_add_attributes_if_hidden_is_set_to_false()
        {
            var grid   = GridTestHelper.CreateGrid <Customer>();
            var column = new GridBoundColumn <Customer, int>(grid, c => c.Id);

            column.Hidden = false;
            column.HtmlAttributes.ContainsKey("style").ShouldBeFalse();
        }
示例#10
0
        public void Should_not_use_display_for_if_encoded_is_false()
        {
            var column = new GridBoundColumn <User, bool>(GridTestHelper.CreateGrid <User>(), u => u.Active);

            column.Encoded = false;
            var builder = column.CreateDisplayBuilder(null);

            builder.ShouldBeType <GridDataCellBuilder <User, bool> >();
        }
示例#11
0
        public void Should_not_use_display_for_if_format_is_set()
        {
            var column = new GridBoundColumn <User, bool>(GridTestHelper.CreateGrid <User>(), u => u.Active);

            column.Format = "{0}";
            var builder = column.CreateDisplayBuilder(null);

            builder.ShouldBeType <GridDataCellBuilder <User, bool> >();
        }
        public void Should_throw_if_in_cell_mode_is_enabled_and_server_binding_is_used()
        {
            var grid = GridTestHelper.CreateGrid <Customer>();

            grid.DataKeys.Add(new GridDataKey <Customer, int>(c => c.Id));
            grid.Editing.Enabled = true;
            grid.Editing.Mode    = GridEditMode.InCell;
            Assert.Throws <NotSupportedException>(() => grid.VerifySettings());
        }
示例#13
0
        public void Should_remove_attributes_if_hidden_is_set_to_false()
        {
            var grid   = GridTestHelper.CreateGrid <Customer>();
            var column = new GridBoundColumn <Customer, int>(grid, c => c.Id);

            column.Hidden = true;
            column.Hidden = false;
            ((string)column.HtmlAttributes["style"]).ShouldNotContain("display:none;width:0;");
        }
示例#14
0
        public void Should_add_attributes_if_hidden()
        {
            var grid   = GridTestHelper.CreateGrid <Customer>();
            var column = new GridBoundColumn <Customer, int>(grid, c => c.Id);

            column.Hidden = true;

            ((string)column.HtmlAttributes["style"]).ShouldContain("display:none;");
        }
示例#15
0
        public void Should_return_sortable_header_builder_if_sortable()
        {
            var grid = GridTestHelper.CreateGrid <Customer>();

            grid.Sorting.Enabled = true;
            var column = new GridBoundColumn <Customer, int>(grid, c => c.Id);

            column.Settings.Sortable = true;
            column.CreateHeaderBuilder().ShouldBeType <GridSortableHeaderCellBuilder>();
        }
        public void Should_throw_if_in_cell_mode_is_enabled_client_row_template_is_set()
        {
            var grid = GridTestHelper.CreateGrid <Customer>();

            grid.DataKeys.Add(new GridDataKey <Customer, int>(c => c.Id));
            grid.DataBinding.Ajax.Enabled = true;
            grid.Editing.Enabled          = true;
            grid.Editing.Mode             = GridEditMode.InCell;
            grid.ClientRowTemplate        = "foo";
            Assert.Throws <NotSupportedException>(() => grid.VerifySettings());
        }
示例#17
0
        public void Should_return_decorated_header_builder_if_hidden()
        {
            var grid   = GridTestHelper.CreateGrid <Customer>();
            var column = new GridBoundColumn <Customer, int>(grid, c => c.Id);

            column.Hidden = true;

            var headerBuilder = column.CreateHeaderBuilder();

            headerBuilder.Decorators.OfType <GridHiddenCellBuilderDecorator>().Any().ShouldBeTrue();
        }
        public GridWorkingConditionsTests()
        {
            grid = GridTestHelper.CreateGrid <Customer>();

            customer = new Customer {
                Id = 1, Name = "John Doe"
            };
            grid.DataSource = new[] { customer };

            grid.Columns.Add(new GridBoundColumn <Customer, int>(grid, c => c.Id));
            grid.Columns.Add(new GridBoundColumn <Customer, string>(grid, c => c.Name));
        }
        public void Should_create_column_by_name_from_linq_to_object_source()
        {
            var grid = GridTestHelper.CreateGrid <Customer>();

            grid.DataSource = new[] { new Customer {
                                          Id = 1
                                      } }.AsQueryable();
            var factory = new GridColumnFactory <Customer>(grid);
            var builder = factory.Bound("Id");

            builder.Column.ShouldBeType <GridBoundColumn <Customer, int> >();
        }
示例#20
0
        public void Should_return_decorated_header_builder_if_filtarable()
        {
            var grid = GridTestHelper.CreateGrid <Customer>();

            grid.Filtering.Enabled = true;
            var column = new GridBoundColumn <Customer, int>(grid, c => c.Id);

            column.Settings.Filterable = true;

            var headerBuilder = column.CreateHeaderBuilder();

            headerBuilder.Decorators.OfType <GridFilterCellDecorator>().Any().ShouldBeTrue();
        }
        public void Should_throw_if_bound_to_data_row_view_column_editor_template_is_set_and_in_inLine_mode()
        {
            var dataRowViewGrid = GridTestHelper.CreateGrid <System.Data.DataRowView>();

            dataRowViewGrid.Editing.Mode = GridEditMode.InLine;
            dataRowViewGrid.Columns.Add(new GridBoundColumn <System.Data.DataRowView, object>(dataRowViewGrid, c => c)
            {
                EditorTemplateName = "sometemplate"
            });

            dataRowViewGrid.Editing.Enabled = true;
            Assert.Throws <NotSupportedException>(() => dataRowViewGrid.VerifySettings());
        }
示例#22
0
        public void Should_add_data_key_by_name_if_bound_to_DataRowViews()
        {
            var dataRowViewGrid    = GridTestHelper.CreateGrid <DataRowView>();
            var dataRowViewBuilder = new GridBuilder <DataRowView>(dataRowViewGrid);

            const string expectedRouteValue = "CustomerId";
            const string expectedFieldName  = "Id";

            dataRowViewBuilder.DataKeys(keys => keys.Add(expectedFieldName).RouteKey(expectedRouteValue));
            var firstDataKey = dataRowViewGrid.DataKeys[0];

            firstDataKey.RouteKey.ShouldEqual(expectedRouteValue);
            firstDataKey.Name.ShouldEqual(expectedFieldName);
        }
示例#23
0
        public GridRenderingTests()
        {
            var virtualPathProvider = new Mock <IVirtualPathProvider>();

            virtualPathProvider.Setup(vpp => vpp.FileExists(It.IsAny <string>())).Returns(false);

            var serviceLocator = new Mock <IServiceLocator>();

            serviceLocator.Setup(sl => sl.Resolve <IVirtualPathProvider>()).Returns(virtualPathProvider.Object);

            ServiceLocator.SetCurrent(() => serviceLocator.Object);

            builder = new Mock <IGridHtmlBuilder <Customer> >();

            builder.Setup(r => r.GridTag()).Returns(() => new HtmlTag("div"));
            builder.Setup(r => r.TableTag()).Returns(() => new HtmlTag("table"));
            builder.Setup(r => r.BodyTag(It.IsAny <IHtmlNode>())).Returns(() => new HtmlTag("tbody"));
            builder.Setup(r => r.HeadTag(It.IsAny <IHtmlNode>())).Returns(() => new HtmlTag("thead"));
            builder.Setup(r => r.HeadCellTag(It.IsAny <GridColumnBase <Customer> >())).Returns(() => new HtmlTag("th"));
            builder.Setup(r => r.FootCellTag()).Returns(() => new HtmlTag("td"));
            builder.Setup(r => r.FootTag(It.IsAny <IHtmlNode>())).Returns(() => new HtmlTag("tfoot"));
            builder.Setup(r => r.RowTag()).Returns(() => new HtmlTag("tr"));
            builder.Setup(r => r.LoadingIndicatorTag()).Returns(() => new HtmlTag("div"));
            builder.Setup(r => r.PagerStatusTag()).Returns(() => new HtmlTag("div"));
            builder.Setup(r => r.PagerTag()).Returns(() => new HtmlTag("div"));
            builder.Setup(r => r.RowTag(It.IsAny <GridRow <Customer> >())).Returns(() => new HtmlTag("td"));
            builder.Setup(r => r.CellTag(It.IsAny <GridCell <Customer> >())).Returns(() => new HtmlTag("td"));

            objectWriter = new Mock <IClientSideObjectWriter>();
            grid         = GridTestHelper.CreateGrid(null, builder.Object, objectWriter.Object);

            customer = new Customer {
                Id = 1, Name = "John Doe"
            };
            grid.DataSource = new[] { customer };

            grid.Columns.Add(new GridBoundColumn <Customer, int>(grid, c => c.Id));
            grid.Columns.Add(new GridBoundColumn <Customer, string>(grid, c => c.Name));
        }
示例#24
0
        public void Readonly_is_populated_from_metadata()
        {
            var column = new GridBoundColumn <User, string>(GridTestHelper.CreateGrid <User>(), u => u.Name);

            Assert.Equal(true, column.ReadOnly);
        }
 public GridPagerSettingsBuilderTests()
 {
     pager   = new GridPagingSettings(GridTestHelper.CreateGrid <Customer>());
     builder = new GridPagerSettingsBuilder(pager);
 }
 public GridBoundColumnBuilderTests()
 {
     column  = new GridBoundColumn <Customer, int>(GridTestHelper.CreateGrid <Customer>(), c => c.Id);
     builder = new GridBoundColumnBuilder <Customer>(column);
 }
示例#27
0
        public void Should_create_editor_builder_when_in_insert_mode()
        {
            var column = new GridBoundColumn <User, bool>(GridTestHelper.CreateGrid <User>(), u => u.Active);

            column.CreateInsertBuilder(null).ShouldBeType <GridEditorForCellBuilder <User, bool> >();
        }
 public GridToolBarCommandFactoryTests()
 {
     toolBarSettings = new GridToolBarSettings <object>(GridTestHelper.CreateGrid <object>());
     factory         = new GridToolBarCommandFactory <object>(toolBarSettings);
 }
 public GridActionCommandFactoryTests()
 {
     column = new GridActionColumn <Customer>(GridTestHelper.CreateGrid <Customer>());
 }
 private static GridColumnFactory <T> Factory <T>()
     where T : class
 {
     return(new GridColumnFactory <T>(GridTestHelper.CreateGrid <T>()));
 }