From cbb7fc6febc940d833ba31a00affd047250abba9 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 20 Jan 2023 16:14:25 +0800 Subject: [PATCH] test: add unit test for table IsHideFooterWhenNoData --- test/UnitTest/Components/TableTest.cs | 49 +++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/test/UnitTest/Components/TableTest.cs b/test/UnitTest/Components/TableTest.cs index 2fbf212cc22..ded7ffc3d41 100644 --- a/test/UnitTest/Components/TableTest.cs +++ b/test/UnitTest/Components/TableTest.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Website: https://www.blazor.zone or https://argozhang.github.io/ +using AngleSharp.Dom; using BootstrapBlazor.Shared; using Microsoft.AspNetCore.Components.Forms; using Microsoft.AspNetCore.Components.Web; @@ -1514,6 +1515,54 @@ public void TableFooter_Ok(TableRenderMode mode) cut.Contains("table-footer-test"); } + [Fact] + public void IsHideFooterWhenNoData_Ok() + { + var localizer = Context.Services.GetRequiredService>(); + var cut = Context.RenderComponent(pb => + { + pb.AddChildContent>(pb => + { + pb.Add(a => a.RenderMode, TableRenderMode.Table); + pb.Add(a => a.ShowFooter, true); + pb.Add(a => a.IsHideFooterWhenNoData, false); + pb.Add(a => a.Items, Foo.GenerateFoo(localizer)); + pb.Add(a => a.TableColumns, foo => builder => + { + builder.OpenComponent>(0); + builder.AddAttribute(1, "Field", "Name"); + builder.AddAttribute(2, "FieldExpression", Utility.GenerateValueExpression(foo, "Name", typeof(string))); + builder.CloseComponent(); + }); + pb.Add(a => a.TableFooter, foos => builder => + { + builder.AddContent(0, "table-footer-test"); + }); + }); + }); + cut.Contains("table-footer-test"); + + var table = cut.FindComponent>(); + table.SetParametersAndRender(pb => + { + pb.Add(a => a.IsHideFooterWhenNoData, false); + }); + cut.Contains("table-footer-test"); + + table.SetParametersAndRender(pb => + { + pb.Add(a => a.Items, null); + }); + cut.Contains("table-footer-test"); + + table.SetParametersAndRender(pb => + { + pb.Add(a => a.Items, null); + pb.Add(a => a.IsHideFooterWhenNoData, true); + }); + cut.DoesNotContain("table-footer-test"); + } + [Fact] public void FooterTemplate_Ok() {