@@ -6,20 +6,20 @@ namespace NotoriousClient.Tests.Unit
66    public  class  RequestBuilderURIUnitTests 
77    { 
88        #region URI
9-         [ GWTFact ( given :  "a url, an endpoint, and an HTTP Verb" ,   
10-                  when :  "i build a request" ,   
9+         [ GWTFact ( given :  "a url, an endpoint, and an HTTP Verb" , 
10+                  when :  "i build a request" , 
1111                 then :  "request has right url, endpoint and verb" ) ] 
1212        public  void  RequestBuilder_Should_HaveRightUrlEndpointAndVerb ( ) 
1313        { 
1414            string  url  =  "https://toto.com" ; 
1515            Endpoint  endpoint  =  new  Endpoint ( "/pandas" ,  Method . Get ) ; 
1616
1717            RequestBuilder  requestBuilder  =  new  RequestBuilder ( url ,  endpoint ) ; 
18-             HttpRequestMessage  request    =  requestBuilder . Build ( ) ; 
18+             HttpRequestMessage  request  =  requestBuilder . Build ( ) ; 
1919
2020            Assert . Equal ( HttpMethod . Get ,  request . Method ) ; 
2121            Assert . NotNull ( request . RequestUri ) ; 
22-             Assert . Equal ( "https://toto.com/pandas" ,  request . RequestUri ! . ToString ( ) ) ; 
22+             Assert . Equal ( "https://toto.com/pandas" ,  request . RequestUri . AbsoluteUri ) ; 
2323        } 
2424
2525        [ GWTFact ( given :  "a url with and end slash, an endpoint with a start slash, and an HTTP Verb" , 
@@ -35,7 +35,7 @@ public void RequestBuilder_Should_HandleUrlSlashProperly()
3535
3636            Assert . Equal ( HttpMethod . Get ,  request . Method ) ; 
3737            Assert . NotNull ( request . RequestUri ) ; 
38-             Assert . Equal ( "https://toto.com/pandas" ,  request . RequestUri ! . ToString ( ) ) ; 
38+             Assert . Equal ( "https://toto.com/pandas" ,  request . RequestUri . AbsoluteUri ) ; 
3939        } 
4040
4141        [ GWTFact ( given :  "a url, an endpoint, and an HTTP Verb" , 
@@ -51,7 +51,7 @@ public void RequestBuilder_Should_AddUrlSlashProperly()
5151
5252            Assert . Equal ( HttpMethod . Get ,  request . Method ) ; 
5353            Assert . NotNull ( request . RequestUri ) ; 
54-             Assert . Equal ( "https://toto.com/pandas" ,  request . RequestUri ! . ToString ( ) ) ; 
54+             Assert . Equal ( "https://toto.com/pandas" ,  request . RequestUri . AbsoluteUri ) ; 
5555        } 
5656        #endregion
5757
@@ -70,7 +70,7 @@ public void RequestBuilder_Should_HaveOneQueryParams()
7070
7171            Assert . Equal ( HttpMethod . Get ,  request . Method ) ; 
7272            Assert . NotNull ( request . RequestUri ) ; 
73-             Assert . Equal ( "https://toto.com/pandas?toto%3dtoto " ,  request . RequestUri ! . ToString ( ) ) ; 
73+             Assert . Equal ( "https://toto.com/pandas?toto=toto " ,  request . RequestUri . AbsoluteUri ) ; 
7474        } 
7575
7676        [ GWTFact ( given :  "a request with two query parameters" , 
@@ -88,7 +88,24 @@ public void RequestBuilder_Should_HaveTwoQueryParams()
8888
8989            Assert . Equal ( HttpMethod . Get ,  request . Method ) ; 
9090            Assert . NotNull ( request . RequestUri ) ; 
91-             Assert . Equal ( "https://toto.com/pandas?toto%3dtoto%26toto2%3dtoto2" ,  request . RequestUri ! . ToString ( ) ) ; 
91+             Assert . Equal ( "https://toto.com/pandas?toto=toto&toto2=toto2" ,  request . RequestUri . AbsoluteUri ) ; 
92+         } 
93+ 
94+         [ GWTFact ( given :  "a request with one query parameters that have an accent" , 
95+          when :  "i build a request" , 
96+          then :  "request has encoded query values" ) ] 
97+         public  void  RequestBuilder_Should_ShouldEncodeQueryValues ( ) 
98+         { 
99+             string  url  =  "https://toto.com" ; 
100+             Endpoint  endpoint  =  new  Endpoint ( "/pandas" ,  Method . Get ) ; 
101+ 
102+             IRequestBuilder  requestBuilder  =  new  RequestBuilder ( url ,  endpoint ) 
103+                 . AddQueryParameter ( "této" ,  "této" ) ; 
104+             HttpRequestMessage  request  =  requestBuilder . Build ( ) ; 
105+ 
106+             Assert . Equal ( HttpMethod . Get ,  request . Method ) ; 
107+             Assert . NotNull ( request . RequestUri ) ; 
108+             Assert . Equal ( "https://toto.com/pandas?t%C3%A9to=t%C3%A9to" ,  request . RequestUri . AbsoluteUri ) ; 
92109        } 
93110        #endregion
94111
0 commit comments