From 1d4d547c8af718edfc5bc7f400f74bf5153aa0b3 Mon Sep 17 00:00:00 2001 From: StevanFreeborn Date: Wed, 1 Feb 2023 21:39:57 -0600 Subject: [PATCH] fix: added another test for new api response method --- src/models/ApiResponse.ts | 1 + tests/ApiResponse.spec.ts | 24 +++++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/models/ApiResponse.ts b/src/models/ApiResponse.ts index 87eafbd..e615d2e 100644 --- a/src/models/ApiResponse.ts +++ b/src/models/ApiResponse.ts @@ -45,6 +45,7 @@ export class ApiResponse { */ public AsGetPagedAppsResponseType(): ApiResponse { var apiResponse = this as ApiResponse; + var apps = apiResponse.data.items.map((item: any) => { return new App(item.href, item.id, item.name); }); diff --git a/tests/ApiResponse.spec.ts b/tests/ApiResponse.spec.ts index 3ee8eeb..dc092be 100644 --- a/tests/ApiResponse.spec.ts +++ b/tests/ApiResponse.spec.ts @@ -84,7 +84,7 @@ describe('ApiResponse', function () { ); }); - it('should return an ApiResponse', function () { + it('should return an ApiResponse when data contains app items', function () { var mockApiResponse = { pageNumber: 1, pageSize: 2, @@ -118,5 +118,27 @@ describe('ApiResponse', function () { expect(appsPagedResponse.data.items[0]).to.be.instanceOf(App); expect(appsPagedResponse.data.items[1]).to.be.instanceOf(App); }); + + it('should return an ApiResponse when data contains app items', function () { + var mockApiResponse = { + pageNumber: 0, + pageSize: 0, + totalPages: 0, + totalRecords: 0, + items: [], + }; + + var apiResponse = new ApiResponse(200, 'OK', mockApiResponse); + var appsPagedResponse = apiResponse.AsGetPagedAppsResponseType(); + + expect(appsPagedResponse).to.be.instanceOf(ApiResponse); + expect(appsPagedResponse.data).to.be.instanceOf(GetPagedAppsResponse); + expect(appsPagedResponse.data.totalPages).to.equal(0); + expect(appsPagedResponse.data.totalRecords).to.equal(0); + expect(appsPagedResponse.data.pageNumber).to.equal(0); + expect(appsPagedResponse.data.pageSize).to.equal(0); + expect(appsPagedResponse.data.items).to.be.instanceOf(Array); + expect(appsPagedResponse.data.items).to.have.lengthOf(0); + }); }); });