public void ProcessRequest_Should_Not_Add_Property_Value_As_Query_String_Parameter_If_Value_Of_The_Property_Is_Null() { var propertyQueryStringBuilder = new PropertyQueryStringBuilder(); var clanFilter = new PairPropertyFilter { Name = "Eyyam" }; var queryParameters = new List <KeyValuePair <string, string> >(); propertyQueryStringBuilder.ProcessRequest(queryParameters, clanFilter); Assert.Single(queryParameters); Assert.Contains(new KeyValuePair <string, string>("name", clanFilter.Name), queryParameters); }
public void ProcessRequest_Should_Add_All_Propert_Values_As_Query_String_Parameter_If_Values_Are_Not_Null() { var propertyQueryStringBuilder = new PropertyQueryStringBuilder(); var clanFilter = new PairPropertyFilter { Name = "Eyyam", Tag = "ATSGEDS" }; var queryParameters = new List <KeyValuePair <string, string> >(); propertyQueryStringBuilder.ProcessRequest(queryParameters, clanFilter); Assert.Equal(2, queryParameters.Count); Assert.Contains(new KeyValuePair <string, string>("name", clanFilter.Name), queryParameters); Assert.Contains(new KeyValuePair <string, string>("tag", clanFilter.Tag), queryParameters); }
public void ProcessRequest_Should_Pass_Same_QueryStringParams_And_Filter_To_Successor() { var queryStringBuilder = new Mock <QueryStringBuilder>(MockBehavior.Strict); var propertyQueryStringBuilder = new PropertyQueryStringBuilder(); propertyQueryStringBuilder.SetSuccessor(queryStringBuilder.Object); queryStringBuilder.Setup(builder => builder.ProcessRequest(It.IsAny <IList <KeyValuePair <string, string> > >(), It.IsAny <PairPropertyFilter>())); var clanFilter = new PairPropertyFilter { Name = "Eyyam", Tag = "ATSGEDS" }; var queryParameters = new List <KeyValuePair <string, string> >(); propertyQueryStringBuilder.ProcessRequest(queryParameters, clanFilter); queryStringBuilder.Verify( builder => builder.ProcessRequest(It.Is <IList <KeyValuePair <string, string> > >(stringBuilder => Equals(stringBuilder, queryParameters)), It.Is <PairPropertyFilter>(filter => Equals(filter, clanFilter))), Times.Once); }