public void GetReportQueryNode_ValuesNodeNotEmpty_ReturnExpectedContent() { // Arrange var expectedText = $"({DummyString}Text = '{DummyString}' )"; var spWeb = new ShimSPWeb().Instance; var xmlNode = new ShimXmlNode(new XmlDocument()).Instance; var spList = new ShimSPList { FieldsGet = () => new ShimSPFieldCollection { GetFieldByInternalNameString = name => new ShimSPField { TypeGet = () => SPFieldType.User } } }.Instance; var privateType = new PrivateType(typeof(ReportingData)); ShimXmlDocument.AllInstances.NameGet = _ => "Contains"; ShimXmlNode.AllInstances.SelectSingleNodeString = (_, nodeName) => new ShimXmlNode(new XmlDocument()) { AttributesGet = () => new ShimXmlAttributeCollection { ItemOfGetString = attrName => new ShimXmlAttribute { ValueGet = () => "Dummy" } } }.Instance; ShimXmlNode.AllInstances.SelectNodesString = (_, name) => { var document = new XmlDocument(); var element = document.CreateElement("Dummy"); element.InnerText = "Dummy"; document.AppendChild(element); return(document.ChildNodes); }; var args = new object[] { spWeb, xmlNode, spList }; // Act var result = privateType.InvokeStatic(GetReportQueryNodeMethodName, args) as string; // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNullOrEmpty(), () => result.ShouldBe(expectedText)); }
public void GetReportQueryNode_FieldTypeUser() { // Arrange var expectedText = $"{DummyString}ID Is Null"; var spWeb = new ShimSPWeb { CurrentUserGet = () => new ShimSPUser { IDGet = () => 1 } }.Instance; var xmlNode = new ShimXmlNode(new XmlDocument()).Instance; var spList = new ShimSPList { FieldsGet = () => new ShimSPFieldCollection { GetFieldByInternalNameString = name => new ShimSPFieldLookup { LookupListGet = () => Guid.NewGuid().ToString(), LookupFieldGet = () => DummyString } } }.Instance; ShimSPField.AllInstances.TypeGet = _ => SPFieldType.User; ShimXmlDocument.AllInstances.NameGet = _ => "IsNull"; ShimXmlNode.AllInstances.SelectSingleNodeString = (_, nodeName) => { if (nodeName == ValuesNodeName || nodeName == UserIdNodeName) { return(null); } else { return(GetDefaultXmlNode("1", DummyString)); } }; var args = new object[] { spWeb, xmlNode, spList }; // Act var result = _privateType.InvokeStatic(GetReportQueryNodeMethodName, args) as string; // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNullOrEmpty(), () => result.ShouldContain(expectedText)); }
public void GetReportQueryNode_FieldTypeCalculated() { // Arrange var expectedText = $"{DummyString} Like '%100%'"; var spWeb = new ShimSPWeb { CurrentUserGet = () => new ShimSPUser { IDGet = () => 1 } }.Instance; var xmlNode = new ShimXmlNode(new XmlDocument()).Instance; var spList = new ShimSPList { FieldsGet = () => new ShimSPFieldCollection { GetFieldByInternalNameString = name => new ShimSPFieldCalculated { ShowAsPercentageGet = () => true } } }.Instance; ShimSPField.AllInstances.TypeGet = _ => SPFieldType.Calculated; ShimXmlDocument.AllInstances.NameGet = _ => "Contains"; ShimXmlNode.AllInstances.SelectSingleNodeString = (_, nodeName) => { if (nodeName == "Values") { return(null); } else { return(GetDefaultXmlNode(DummyString, DummyString)); } }; var args = new object[] { spWeb, xmlNode, spList }; // Act var result = _privateType.InvokeStatic(GetReportQueryNodeMethodName, args) as string; // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNullOrEmpty(), () => result.ShouldBe(expectedText)); }
public void GetReportQueryNode_FieldTypeDateTime() { // Arrange var expectedText = $"{DummyString} Like '{DateTime.Now.ToString("yyyy-MM-dd")}"; var spWeb = new ShimSPWeb { CurrentUserGet = () => new ShimSPUser { IDGet = () => 1 } }.Instance; var xmlNode = new ShimXmlNode(new XmlDocument()).Instance; var spList = new ShimSPList { FieldsGet = () => new ShimSPFieldCollection { GetFieldByInternalNameString = name => new ShimSPFieldCalculated { ShowAsPercentageGet = () => true } } }.Instance; ShimSPField.AllInstances.TypeGet = _ => SPFieldType.DateTime; ShimXmlDocument.AllInstances.NameGet = _ => "BeginsWith"; ShimXmlNode.AllInstances.SelectSingleNodeString = (_, nodeName) => { if (nodeName == ValuesNodeName || nodeName == UserIdNodeName) { return(null); } else { return(GetDefaultXmlNode(string.Empty, DummyString, "<Today></Today>")); } }; var args = new object[] { spWeb, xmlNode, spList }; // Act var result = _privateType.InvokeStatic(GetReportQueryNodeMethodName, args) as string; // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNullOrEmpty(), () => result.ShouldContain(expectedText)); }
public void GetReportQueryNode_AndOrOperatorsWithEmptyParams_ReturnsExpectedValue() { // Arrange const string ExpectedValue = "(( Or ) And )"; var nodeAnd = new ShimXmlDocument() { NameGet = () => "And" }; var nodeOr = new ShimXmlDocument() { NameGet = () => "Or" }; var spWeb = new ShimSPWeb().Instance; var spList = new ShimSPList().Instance; var xmlNode = new ShimXmlNode(nodeAnd) { FirstChildGet = () => new ShimXmlNode(nodeOr) }.Instance; ShimXmlNode.AllInstances.FirstChildGet = _ => new ShimXmlNode(new XmlDocument()); ShimXmlNode.AllInstances.NextSiblingGet = _ => new ShimXmlNode(new XmlDocument()); ShimXmlNode.AllInstances.SelectSingleNodeString = (_, nodeName) => new ShimXmlNode(new XmlDocument()) { AttributesGet = () => new ShimXmlAttributeCollection { ItemOfGetString = attrName => new ShimXmlAttribute { ValueGet = () => "=" } } }.Instance; var args = new object[] { spWeb, xmlNode, spList }; // Act var result = _privateType.InvokeStatic(GetReportQueryNodeMethodName, args) as string; // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNullOrEmpty(), () => result.ShouldContain(ExpectedValue)); }
public void GetReportQueryNode_NodeNameIsNull_ReturnExpectedContent() { // Arrange var expectedText = $"{DummyString} is null"; var spWeb = new ShimSPWeb().Instance; var xmlNode = new ShimXmlNode(new XmlDocument()).Instance; var spList = new ShimSPList { FieldsGet = () => new ShimSPFieldCollection { GetFieldByInternalNameString = name => new ShimSPField { TypeGet = () => SPFieldType.Text } } }.Instance; ShimXmlDocument.AllInstances.NameGet = _ => "IsNull"; ShimXmlNode.AllInstances.SelectSingleNodeString = (_, nodeName) => new ShimXmlNode(new XmlDocument()) { AttributesGet = () => new ShimXmlAttributeCollection { ItemOfGetString = attrName => new ShimXmlAttribute { ValueGet = () => DummyString } } }.Instance; var args = new object[] { spWeb, xmlNode, spList }; // Act var result = _privateType.InvokeStatic(GetReportQueryNodeMethodName, args) as string; // Assert result.ShouldSatisfyAllConditions( () => result.ShouldNotBeNullOrEmpty(), () => result.ShouldBe(expectedText)); }