@@ -43,6 +43,33 @@ protected override void ExpectResponse(IGetResponse<Project> response)
4343 }
4444 }
4545
46+ [ Collection ( IntegrationContext . ReadOnly ) ]
47+ public class GetApiLowLevelTests : GetApiTests
48+ {
49+ public GetApiLowLevelTests ( ReadOnlyCluster cluster , EndpointUsage usage ) : base ( cluster , usage ) { }
50+
51+ protected override string UrlPath => $ "/project/project/{ ProjectIdForUrl } ?fields=name%2CnumberOfCommits";
52+
53+ protected override LazyResponses ClientUsage ( ) => Calls (
54+ fluent : ( client , f ) => client . Raw . Get < GetResponse < Project > > ( "project" , "project" , this . ProjectId , RequestParameter ) . Body ,
55+ fluentAsync : ( client , f ) => client . Raw . GetAsync < GetResponse < Project > > ( "project" , "project" , this . ProjectId , RequestParameter )
56+ . ContinueWith < IGetResponse < Project > > ( t=> t . Result . Body ) ,
57+ request : ( client , f ) => client . Raw . Get < GetResponse < Project > > ( "project" , "project" , this . ProjectId , RequestParameter ) . Body ,
58+ requestAsync : ( client , f ) => client . Raw . GetAsync < GetResponse < Project > > ( "project" , "project" , this . ProjectId , RequestParameter )
59+ . ContinueWith < IGetResponse < Project > > ( t=> t . Result . Body )
60+ ) ;
61+
62+ private GetRequestParameters RequestParameter ( GetRequestParameters r ) => r
63+ . Fields ( "name" , "numberOfCommits" ) ;
64+
65+ protected override void ExpectResponse ( IGetResponse < Project > response )
66+ {
67+ response . Fields . Should ( ) . NotBeNull ( ) ;
68+ response . Fields . ValueOf < Project , string > ( p => p . Name ) . Should ( ) . Be ( ProjectId ) ;
69+ response . Fields . ValueOf < Project , int ? > ( p => p . NumberOfCommits ) . Should ( ) . BeGreaterThan ( 0 ) ;
70+ }
71+ }
72+
4673 [ Collection ( IntegrationContext . ReadOnly ) ]
4774 public class GetApiFieldsTests : GetApiTests
4875 {
0 commit comments