public void RowActionTagHelperTest()
        {
            var mg = MockHtmlGenerator();
            var r  = new RowActionTagHelper(mg.Object);

            Assert.IsTrue(r.CanDelete);
            Assert.IsTrue(r.CanEdit);
            Assert.IsTrue(r.CanView);
            Assert.AreEqual("btn-outline-secondary btn-sm", r.ButtonClass);
            Assert.AreEqual("Action", r.LableName);
            Assert.IsNull(r.Options);
            Assert.IsNotNull(r.RouteValues);
            Assert.AreEqual(0, r.RouteValues.Count);
        }
        public void ProcessCustomButtonTest()
        {
            var mg          = MockHtmlGenerator();
            var viewContext = GetViewContext();
            var Routes      = new Dictionary <string, string>();

            Routes.Add("pageSize", "10");
            Routes.Add("id", "1");


            var editTag = new TagBuilder("div");

            editTag.InnerHtml.Append("Edit");
            mg.Setup(x => x.GenerateActionLink(viewContext, "Edit", "Edit", null, null, null, null, Routes, It.IsAny <Object>())).Returns(editTag);
            var deleteTag = new TagBuilder("div");

            deleteTag.InnerHtml.Append("Delete");
            mg.Setup(x => x.GenerateActionLink(viewContext, "Delete", "Delete", null, null, null, null, Routes, It.IsAny <Object>())).Returns(deleteTag);
            var detailsTag = new TagBuilder("div");

            detailsTag.InnerHtml.Append("Details");
            mg.Setup(x => x.GenerateActionLink(viewContext, "Details", "Details", null, null, null, null, Routes, It.IsAny <Object>())).Returns(detailsTag);

            var options = new CoreGridFSPOptions();


            var r = new RowActionTagHelper(mg.Object);

            r.LableName   = "TestLabel";
            r.ButtonClass = "btn TestClass btn";//expect it to remove the extra btn
            r.RouteValues = Routes;
            r.Options     = options;
            r.ViewContext = viewContext;

            var output = GetTagHelperOutput();

            r.Process(GetTagHelperContext(), output);

            Assert.IsNotNull(output);
            var expected = "<button class=\"TestClass btn\">TestLabel</button><button aria-expanded=\"false\" aria-haspopup=\"true\" class=\"dropdown-toggle-split dropdown-toggle btn-outline-secondary btn\" data-toggle=\"dropdown\" type=\"button\"><span class=\"sr-only\">Toggle Dropdown</span></button><div class=\"dropdown-menu\"><div>Edit</div><div>Delete</div><div>Details</div></div>";

            Assert.AreEqual(expected, output.Content.GetContent());
        }