From 6adaaaaffdec89c9ae54f85ce83d3854608e03bf Mon Sep 17 00:00:00 2001 From: StevanFreeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Mon, 13 Feb 2023 21:17:38 -0600 Subject: [PATCH] feat: finish writing integration tests for getApps --- integrationTests/getApps.spec.ts | 29 ++++++++++++++++++++++++++++- package.json | 3 ++- src/index.ts | 3 ++- 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/integrationTests/getApps.spec.ts b/integrationTests/getApps.spec.ts index 2f987c9..32bc73a 100644 --- a/integrationTests/getApps.spec.ts +++ b/integrationTests/getApps.spec.ts @@ -1,4 +1,4 @@ -import { OnspringClient } from '../src/index'; +import { OnspringClient, PagingRequest } from '../src/index'; import { expect } from 'chai'; import * as dotenv from 'dotenv'; import path from 'path'; @@ -39,4 +39,31 @@ describe('getApps', function () { } } }); + + it('should return a list of apps with with correct page size and number when passed paging request', async function () { + const client = new OnspringClient(baseURL, apiKey); + const response = await client.getApps(new PagingRequest(1, 1)); + + expect(response.statusCode).to.equal(200); + expect(response.isSuccessful).to.be.true; + expect(response.message).to.equal(''); + expect(response.data).to.not.be.null; + + if (response.data != null) { + expect(response.data.pageNumber).to.equal(1); + expect(response.data.pageSize).to.equal(1); + expect(response.data.totalPages).to.not.be.null; + expect(response.data.totalRecords).to.not.be.null; + expect(response.data.items).to.not.be.null; + + if (response.data.items != null) { + expect(response.data.items.length).to.be.greaterThan(0); + response.data.items.forEach((item) => { + expect(item.id).to.not.be.null; + expect(item.name).to.not.be.null; + expect(item.href).to.not.be.null; + }); + } + } + }); }); diff --git a/package.json b/package.json index 4aa7243..30079ce 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "tests:unit": "mocha -R progress -r ts-node/register ./tests/**/*.spec.ts", "tests:integration": "mocha -R progress -r ts-node/register ./integrationTests/**/*.spec.ts", "tests": "mocha -R progress -r ts-node/register ./tests/**/*.spec.ts ./integrationTests/**/*.spec.ts", - "test-coverage": "nyc npm run tests", + "test-coverage": "nyc npm run tests:unit", + "test-coverage:ci": "nyc npm run tests", "prepare": "husky install" }, "devDependencies": { diff --git a/src/index.ts b/src/index.ts index 10f6039..cd13ae9 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,4 @@ import { OnspringClient } from './models/OnspringClient'; +import { PagingRequest } from './models/PagingRequest'; -export { OnspringClient }; +export { OnspringClient, PagingRequest };