Skip to content

Commit

Permalink
Merge pull request #278 from fxa109/fix277
Browse files Browse the repository at this point in the history
FIxes #277, Added changes for fix and fixed tests
  • Loading branch information
jaredcnance authored May 7, 2018
2 parents 89838b0 + 030f188 commit c2e6779
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/JsonApiDotNetCore/JsonApiDotNetCore.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<VersionPrefix>2.2.2</VersionPrefix>
<VersionPrefix>2.2.3</VersionPrefix>
<TargetFrameworks>$(NetStandardVersion)</TargetFrameworks>
<AssemblyName>JsonApiDotNetCore</AssemblyName>
<PackageId>JsonApiDotNetCore</PackageId>
Expand Down
3 changes: 2 additions & 1 deletion src/JsonApiDotNetCore/Services/QueryComposer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ public string Compose(IJsonApiContext jsonApiContext)
private string ComposeSingleFilter(FilterQuery query)
{
var result = "&filter";
result += QueryConstants.OPEN_BRACKET + query.Attribute + QueryConstants.CLOSE_BRACKET + query.Operation + query.Value;
var operation = string.IsNullOrWhiteSpace(query.Operation) ? query.Operation : query.Operation + ":";
result += QueryConstants.OPEN_BRACKET + query.Attribute + QueryConstants.CLOSE_BRACKET + "=" + operation + query.Value;
return result;
}
}
Expand Down
31 changes: 27 additions & 4 deletions test/UnitTests/Services/QueryComposerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ public QueryComposerTests()
}

[Fact]
public void Can_Compose_FilterStringForUrl()
public void Can_ComposeEqual_FilterStringForUrl()
{
// arrange
var filter = new FilterQuery("attribute", "value", "=");
var filter = new FilterQuery("attribute", "value", "eq");
var querySet = new QuerySet();
List<FilterQuery> filters = new List<FilterQuery>();
filters.Add(filter);
Expand All @@ -34,7 +34,30 @@ public void Can_Compose_FilterStringForUrl()
// act
var filterString = queryComposer.Compose(_jsonApiContext.Object);
// assert
Assert.Equal("&filter[attribute]=value", filterString);
Assert.Equal("&filter[attribute]=eq:value", filterString);
}

[Fact]
public void Can_ComposeLessThan_FilterStringForUrl()
{
// arrange
var filter = new FilterQuery("attribute", "value", "le");
var filter2 = new FilterQuery("attribute2", "value2", "");
var querySet = new QuerySet();
List<FilterQuery> filters = new List<FilterQuery>();
filters.Add(filter);
filters.Add(filter2);
querySet.Filters = filters;

_jsonApiContext
.Setup(m => m.QuerySet)
.Returns(querySet);

var queryComposer = new QueryComposer();
// act
var filterString = queryComposer.Compose(_jsonApiContext.Object);
// assert
Assert.Equal("&filter[attribute]=le:value&filter[attribute2]=value2", filterString);
}

[Fact]
Expand All @@ -54,4 +77,4 @@ public void NoFilter_Compose_EmptyStringReturned()
Assert.Equal("", filterString);
}
}
}
}

0 comments on commit c2e6779

Please sign in to comment.