fix: added additional negative test cases for getApps method. feat: begin writing tests for getAppById method

This commit is contained in:
StevanFreeborn
2023-02-01 22:44:30 -06:00
parent 1d4d547c8a
commit 1a6d05a04a
4 changed files with 238 additions and 34 deletions
+20
View File
@@ -73,9 +73,29 @@ export class OnspringClient {
);
var apiResponse = await this.get<any>(endpoint);
if (apiResponse.isSuccessful === false) {
return apiResponse;
}
return apiResponse.AsGetPagedAppsResponseType();
}
public async getAppById(appId: number): Promise<ApiResponse<App>> {
const endpoint = EndpointFactory.getAppByIdEndpoint(
this._client.defaults.baseURL,
appId
);
var apiResponse = await this.get<any>(endpoint);
if (apiResponse.isSuccessful === false) {
return apiResponse;
}
return apiResponse.AsAppType();
}
/**
* @method get - Makes a GET request to the specified endpoint.
* @param {string} endpoint - The endpoint that will be used to make the request.
+20 -4
View File
@@ -1,5 +1,5 @@
import { App } from "./App";
import { GetPagedAppsResponse } from "./GetPagedAppsResponse";
import { App } from './App';
import { GetPagedAppsResponse } from './GetPagedAppsResponse';
/**
* @class ApiResponse - A generic response object for API requests.
@@ -42,10 +42,10 @@ export class ApiResponse<T> {
/**
* @method AsGetPagedAppsResponseType - Converts the ApiResponse to an ApiResponse<GetPagedAppsResponse>.
* @returns {ApiResponse<GetPagedAppsResponse>} - An ApiResponse<GetPagedAppsResponse>.
*/
*/
public AsGetPagedAppsResponseType(): ApiResponse<GetPagedAppsResponse> {
var apiResponse = this as ApiResponse<any>;
var apps = apiResponse.data.items.map((item: any) => {
return new App(item.href, item.id, item.name);
});
@@ -64,4 +64,20 @@ export class ApiResponse<T> {
getAppsPagedResponse
);
}
AsAppType(): ApiResponse<App> {
var apiResponse = this as ApiResponse<any>;
var app = new App(
apiResponse.data.href,
apiResponse.data.id,
apiResponse.data.name
);
return new ApiResponse<App>(
apiResponse.statusCode,
apiResponse.message,
app
);
}
}