public void CreateCommandXElement_NullActionResultExecutor_ThrowsArgumentNullException()
        {
            var elementCommand = new ElementCommand("command", "#selector", "<div>Some HTML!</div>");

            Action action = () => elementCommand.CreateCommandXElement(null);

            action.ShouldThrow <ArgumentNullException>();
        }
        public void CreateCommandXElement_RawHtml_ReturnsCorrectXElement()
        {
            var command              = "command";
            var selector             = "#selector";
            var html                 = "<div>Some HTML!</div>";
            var elementCommand       = new ElementCommand(command, selector, html);
            var controllerContext    = Substitute.For <ControllerContext>();
            var actionResultExecutor = Substitute.For <ActionResultExecutor>(controllerContext);

            var result = elementCommand.CreateCommandXElement(actionResultExecutor);

            result.Name.Should().Be((XName)command);
            result.Should().HaveAttribute("select", selector);
            result.FirstNode.NodeType.Should().Be(XmlNodeType.CDATA);
            result.Value.Should().Be(html);
        }