From 4e688fb8af1f28ff29c4f5a3746ac8678bf7c117 Mon Sep 17 00:00:00 2001 From: Saleh Yusefnejad Date: Fri, 14 Nov 2025 15:13:19 +0330 Subject: [PATCH] add tests for BitCollapase component #11608 --- .../Surfaces/Collapse/BitCollapseTests.cs | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/BlazorUI/Bit.BlazorUI.Tests/Components/Surfaces/Collapse/BitCollapseTests.cs diff --git a/src/BlazorUI/Bit.BlazorUI.Tests/Components/Surfaces/Collapse/BitCollapseTests.cs b/src/BlazorUI/Bit.BlazorUI.Tests/Components/Surfaces/Collapse/BitCollapseTests.cs new file mode 100644 index 0000000000..40f2982c8f --- /dev/null +++ b/src/BlazorUI/Bit.BlazorUI.Tests/Components/Surfaces/Collapse/BitCollapseTests.cs @@ -0,0 +1,72 @@ +using Microsoft.VisualStudio.TestTools.UnitTesting; +using Bunit; + +namespace Bit.BlazorUI.Tests.Components.Surfaces.Collapse; + +[TestClass] +public class BitCollapseTests : BunitTestContext +{ + [TestMethod] + public void BitCollapseShouldRenderChildContent() + { + var component = RenderComponent(parameters => + { + parameters.AddChildContent("
Hello Collapse
"); + }); + + var collapse = component.Find(".bit-col"); + Assert.IsNotNull(collapse); + Assert.IsTrue(collapse.ToMarkup().Contains("Hello Collapse")); + } + + [DataTestMethod] + [DataRow(true)] + [DataRow(false)] + public void BitCollapseExpandedStateShouldApplyCorrectClasses(bool expanded) + { + var component = RenderComponent(parameters => + { + parameters.Add(p => p.Expanded, expanded); + parameters.AddChildContent("
content
"); + }); + + var content = component.Find(".bit-col-con"); + + if (expanded) + { + Assert.IsTrue(content.ClassList.Contains("bit-col-cex")); + Assert.IsFalse(content.ClassList.Contains("bit-col-cco")); + } + else + { + Assert.IsTrue(content.ClassList.Contains("bit-col-cco")); + Assert.IsFalse(content.ClassList.Contains("bit-col-cex")); + } + } + + [TestMethod] + public void BitCollapseShouldRespectStylesAndClassesParameters() + { + var classes = new BitCollapseClassStyles { Root = "root-class", Content = "content-class", Expanded = "expanded-class" }; + var styles = new BitCollapseClassStyles { Root = "width:1px", Content = "width:2px", Expanded = "width:3px" }; + + var component = RenderComponent(parameters => + { + parameters.Add(p => p.Classes, classes); + parameters.Add(p => p.Styles, styles); + parameters.Add(p => p.Expanded, true); + parameters.AddChildContent("
content
"); + }); + + var root = component.Find(".bit-col"); + Assert.IsTrue(root.ClassList.Contains("root-class")); + + var content = component.Find(".bit-col-con"); + Assert.IsTrue(content.ClassList.Contains("content-class")); + Assert.IsTrue(root.ClassList.Contains("expanded-class")); + + Assert.IsTrue(root.GetAttribute("style").Contains("width:1px")); + Assert.IsTrue(content.GetAttribute("style").Contains("width:2px")); + Assert.IsTrue(root.GetAttribute("style").Contains("width:3px")); + } +}