File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -166,7 +166,7 @@ protected override void Load(ContainerBuilder builder)
166166
167167 // Misc
168168 builder . RegisterType < DefaultSortExpressionExtractor > ( ) . As < ISortExpressionExtractor > ( ) . SingleInstance ( ) ;
169- builder . RegisterType < DefauktIncludeExpressionExtractor > ( ) . As < IIncludeExpressionExtractor > ( ) . SingleInstance ( ) ;
169+ builder . RegisterType < DefaultIncludeExpressionExtractor > ( ) . As < IIncludeExpressionExtractor > ( ) . SingleInstance ( ) ;
170170 }
171171 }
172172}
Original file line number Diff line number Diff line change 1+ using System . Net . Http ;
2+ using FluentAssertions ;
3+ using JSONAPI . Http ;
4+ using Microsoft . VisualStudio . TestTools . UnitTesting ;
5+
6+ namespace JSONAPI . Tests . Http
7+ {
8+ [ TestClass ]
9+ public class DefaultIncludeExpressionExtractorTests
10+ {
11+ [ TestMethod ]
12+ public void ExtractsSingleIncludeExpressionFromUri ( )
13+ {
14+ // Arrange
15+ const string uri = "http://api.example.com/dummies?include=boss" ;
16+ var request = new HttpRequestMessage ( HttpMethod . Get , uri ) ;
17+
18+ // Act
19+ var extractor = new DefaultIncludeExpressionExtractor ( ) ;
20+ var inclExpressions = extractor . ExtractIncludeExpressions ( request ) ;
21+
22+ // Assert
23+ inclExpressions . Should ( ) . BeEquivalentTo ( "boss" ) ;
24+ }
25+
26+
27+ [ TestMethod ]
28+ public void ExtractsMultipleIncludeExpressionsFromUri ( )
29+ {
30+ // Arrange
31+ const string uri = "http://api.example.com/dummies?include=boss,office-address" ;
32+ var request = new HttpRequestMessage ( HttpMethod . Get , uri ) ;
33+
34+ // Act
35+ var extractor = new DefaultIncludeExpressionExtractor ( ) ;
36+ var inclExpressions = extractor . ExtractIncludeExpressions ( request ) ;
37+
38+ // Assert
39+ inclExpressions . Should ( ) . BeEquivalentTo ( "boss" , "office-address" ) ;
40+ }
41+
42+ [ TestMethod ]
43+ public void ExtractsNothingWhenThereIsNoIncludeParam ( )
44+ {
45+ // Arrange
46+ const string uri = "http://api.example.com/dummies" ;
47+ var request = new HttpRequestMessage ( HttpMethod . Get , uri ) ;
48+
49+ // Act
50+ var extractor = new DefaultIncludeExpressionExtractor ( ) ;
51+ var inclExpression = extractor . ExtractIncludeExpressions ( request ) ;
52+
53+ // Assert
54+ inclExpression . Length . Should ( ) . Be ( 0 ) ;
55+ }
56+ }
57+ }
Original file line number Diff line number Diff line change 9191 <Compile Include =" Core\ResourceTypeRegistryTests.cs" />
9292 <Compile Include =" Extensions\TypeExtensionsTests.cs" />
9393 <Compile Include =" Http\BaseUrlServiceTest.cs" />
94+ <Compile Include =" Http\DefaultIncludeExpressionExtractorTests.cs" />
9495 <Compile Include =" Http\DefaultSortExpressionExtractorTests.cs" />
9596 <Compile Include =" Json\JsonApiFormatterTests.cs" />
9697 <Compile Include =" Models\Author.cs" />
Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ namespace JSONAPI.Http
66 /// <summary>
77 /// Default implementation of <see cref="IIncludeExpressionExtractor" />
88 /// </summary>
9- public class DefauktIncludeExpressionExtractor : IIncludeExpressionExtractor
9+ public class DefaultIncludeExpressionExtractor : IIncludeExpressionExtractor
1010 {
1111 private const string IncludeQueryParamKey = "include" ;
1212
Original file line number Diff line number Diff line change 9090 <Compile Include =" Core\ResourceTypeRelationship.cs" />
9191 <Compile Include =" Core\ToManyResourceTypeRelationship.cs" />
9292 <Compile Include =" Core\ToOneResourceTypeRelationship.cs" />
93- <Compile Include =" Http\DefauktIncludeExpressionExtractor .cs" />
93+ <Compile Include =" Http\DefaultIncludeExpressionExtractor .cs" />
9494 <Compile Include =" Http\DefaultSortExpressionExtractor.cs" />
9595 <Compile Include =" Http\DocumentMaterializerLocator.cs" />
9696 <Compile Include =" Http\IDocumentMaterializerLocator.cs" />
You can’t perform that action at this time.
0 commit comments