@@ -11,25 +11,25 @@ type TestClient = Client<Error, HttpAdapterType>;
1111
1212type TestSchema = {
1313 users : {
14- get : RequestInstance < {
14+ $ get : RequestInstance < {
1515 client : TestClient ;
1616 queryParams : { page : number ; limit : number } ;
1717 endpoint : "/users" ;
1818 } > ;
1919 $userId : {
20- get : RequestInstance < {
20+ $ get : RequestInstance < {
2121 client : TestClient ;
2222 response : { id : string ; name : string } ;
2323 endpoint : "/users/:userId" ;
2424 } > ;
25- delete : RequestInstance < {
25+ $ delete : RequestInstance < {
2626 client : TestClient ;
2727 response : { id : string ; name : string } ;
2828 endpoint : "/users/:userId" ;
2929 } > ;
3030 posts : {
3131 $postId : {
32- delete : RequestInstance < {
32+ $ delete : RequestInstance < {
3333 client : TestClient ;
3434 response : { id : string ; title : string } ;
3535 endpoint : "/users/:userId/posts/:postId" ;
@@ -38,6 +38,12 @@ type TestSchema = {
3838 } ;
3939 } ;
4040 } ;
41+ acceptInvitation : {
42+ $post : RequestInstance < {
43+ client : TestClient ;
44+ endpoint : "/accept-invitation" ;
45+ } > ;
46+ } ;
4147} ;
4248
4349describe ( "SDK [ Base ]" , ( ) => {
@@ -60,7 +66,7 @@ describe("SDK [ Base ]", () => {
6066 const sdk = createSdk < TestClient , TestSchema > ( client ) ;
6167 expect ( sdk ) . toBeDefined ( ) ;
6268
63- const request = sdk . users . $userId . get ;
69+ const request = sdk . users . $userId . $ get;
6470
6571 expect ( request ) . toBeInstanceOf ( Request ) ;
6672 expect ( request . method ) . toBe ( "GET" ) ;
@@ -71,7 +77,7 @@ describe("SDK [ Base ]", () => {
7177 const sdk = createSdk < TestClient , TestSchema > ( client ) ;
7278 expect ( sdk ) . toBeDefined ( ) ;
7379
74- const request = sdk . users . $userId . posts . $postId . delete ;
80+ const request = sdk . users . $userId . posts . $postId . $ delete;
7581
7682 expect ( request ) . toBeInstanceOf ( Request ) ;
7783 expect ( request . method ) . toBe ( "DELETE" ) ;
@@ -82,7 +88,7 @@ describe("SDK [ Base ]", () => {
8288 const sdk = createSdk < TestClient , TestSchema > ( client ) ;
8389 expect ( sdk ) . toBeDefined ( ) ;
8490
85- const request = sdk . users . $userId . get . setParams ( { userId : "1" } ) ;
91+ const request = sdk . users . $userId . $ get. setParams ( { userId : "1" } ) ;
8692
8793 expect ( request ) . toBeInstanceOf ( Request ) ;
8894 expect ( request . endpoint ) . toBe ( "/users/1" ) ;
@@ -93,10 +99,32 @@ describe("SDK [ Base ]", () => {
9399 const sdk = createSdk < TestClient , TestSchema > ( client ) ;
94100 expect ( sdk ) . toBeDefined ( ) ;
95101
96- const request = sdk . users . $userId . posts . $postId . delete . setParams ( { userId : "1" , postId : "2" } ) ;
102+ const request = sdk . users . $userId . posts . $postId . $ delete. setParams ( { userId : "1" , postId : "2" } ) ;
97103
98104 expect ( request ) . toBeInstanceOf ( Request ) ;
99105 expect ( request . endpoint ) . toBe ( "/users/1/posts/2" ) ;
100106 expect ( request . params ) . toEqual ( { userId : "1" , postId : "2" } ) ;
101107 } ) ;
108+
109+ it ( "should handle kebab-case to camelCase conversion" , ( ) => {
110+ const sdk = createSdk < TestClient , TestSchema > ( client , { camelCaseToKebabCase : true } ) ;
111+ expect ( sdk ) . toBeDefined ( ) ;
112+
113+ const request = sdk . acceptInvitation . $post ;
114+
115+ expect ( request ) . toBeInstanceOf ( Request ) ;
116+ expect ( request . method ) . toBe ( "POST" ) ;
117+ expect ( request . endpoint ) . toBe ( "/accept-invitation" ) ;
118+ } ) ;
119+
120+ it ( "should not handle kebab-case to camelCase conversion" , ( ) => {
121+ const sdk = createSdk < TestClient , TestSchema > ( client , { camelCaseToKebabCase : false } ) ;
122+ expect ( sdk ) . toBeDefined ( ) ;
123+
124+ const request = sdk . acceptInvitation . $post ;
125+
126+ expect ( request ) . toBeInstanceOf ( Request ) ;
127+ expect ( request . method ) . toBe ( "POST" ) ;
128+ expect ( request . endpoint ) . toBe ( "/acceptInvitation" ) ;
129+ } ) ;
102130} ) ;
0 commit comments