diff --git a/.github/workflows/unit-test.yaml b/.github/workflows/unit-test.yaml new file mode 100644 index 0000000..cf6bd34 --- /dev/null +++ b/.github/workflows/unit-test.yaml @@ -0,0 +1,37 @@ +name: Unit Test + +on: + pull_request: + types: [opened, edited, reopened, ready_for_review] + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [22.x] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v4 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: "npm" + + - name: Install dependencies + run: npm ci + + - name: Run tests + run: npm run test:gh + + - name: Test Report + uses: dorny/test-reporter@v1 + if: success() || failure() # run this step even if previous step failed + with: + name: JEST Tests # Name of the check run which will be created + path: reports/jest-*.xml # Path to test results + reporter: jest-junit # Format of test results \ No newline at end of file diff --git a/.gitignore b/.gitignore index 033fe55..b94a86f 100644 --- a/.gitignore +++ b/.gitignore @@ -131,3 +131,6 @@ dist .yarn/build-state.yml .yarn/install-state.gz .pnp.* + +# test reports +reports/ diff --git a/package-lock.json b/package-lock.json index 63f1df1..703d465 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,6 +44,7 @@ "eslint-plugin-prettier": "^5.0.0", "husky": "^9.1.6", "jest": "^29.5.0", + "jest-junit": "^16.0.0", "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^7.0.0", @@ -1035,9 +1036,9 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.1.tgz", - "integrity": "sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz", + "integrity": "sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -4127,9 +4128,9 @@ "license": "MIT" }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -6361,6 +6362,35 @@ "fsevents": "^2.3.2" } }, + "node_modules/jest-junit": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-16.0.0.tgz", + "integrity": "sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "mkdirp": "^1.0.4", + "strip-ansi": "^6.0.1", + "uuid": "^8.3.2", + "xml": "^1.0.1" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/jest-junit/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/jest-leak-detector": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", @@ -9517,6 +9547,16 @@ "node": ">= 0.4.0" } }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", @@ -9789,6 +9829,13 @@ "dev": true, "license": "ISC" }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==", + "dev": true, + "license": "MIT" + }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 87592e6..81333dc 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "start:prod": "node dist/main", "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", "test": "jest", + "test:gh": "jest --ci --reporters=default --reporters=jest-junit", "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", @@ -55,6 +56,7 @@ "eslint-plugin-prettier": "^5.0.0", "husky": "^9.1.6", "jest": "^29.5.0", + "jest-junit": "^16.0.0", "prettier": "^3.0.0", "source-map-support": "^0.5.21", "supertest": "^7.0.0", @@ -82,5 +84,14 @@ ], "coverageDirectory": "../coverage", "testEnvironment": "node" + }, + "jest-junit": { + "outputDirectory": "reports", + "outputName": "jest-junit.xml", + "ancestorSeparator": " › ", + "uniqueOutputName": "false", + "suiteNameTemplate": "{title}", + "classNameTemplate": "{title}", + "titleTemplate": "{title}" } } diff --git a/src/configuration/configuration.ts b/src/configuration/configuration.ts index 6df4bea..77d68b5 100644 --- a/src/configuration/configuration.ts +++ b/src/configuration/configuration.ts @@ -4,29 +4,31 @@ export default () => ({ }, upstreamAuth: { case: { - endpoint: process.env.CASE_ENDPOINT.trim().replace(/\s/g, '%20'), + endpoint: (process.env.CASE_ENDPOINT ?? ' ').trim().replace(/\s/g, '%20'), workspace: 'int_lab', idirField: 'Sales Rep', }, incident: { - endpoint: process.env.INCIDENT_ENDPOINT.trim().replace(/\s/g, '%20'), + endpoint: (process.env.INCIDENT_ENDPOINT ?? ' ') + .trim() + .replace(/\s/g, '%20'), workspace: 'int_lab', idirField: 'Owned By', }, sr: { - endpoint: process.env.SR_ENDPOINT.trim().replace(/\s/g, '%20'), + endpoint: (process.env.SR_ENDPOINT ?? ' ').trim().replace(/\s/g, '%20'), workspace: 'int_lab', idirField: 'Owner', }, memo: { - endpoint: process.env.MEMO_ENDPOINT.trim().replace(/\s/g, '%20'), + endpoint: (process.env.MEMO_ENDPOINT ?? ' ').trim().replace(/\s/g, '%20'), workspace: undefined, }, }, oauth: { - accessTokenUrl: process.env.ACCESS_TOKEN_URL, - clientId: process.env.CLIENT_ID, - clientSecret: process.env.CLIENT_SECRET, + accessTokenUrl: process.env.ACCESS_TOKEN_URL ?? ' ', + clientId: process.env.CLIENT_ID ?? ' ', + clientSecret: process.env.CLIENT_SECRET ?? ' ', }, workspaces: { supportNetwork: undefined, @@ -40,10 +42,14 @@ export default () => ({ attachments: undefined, }, skipAuthGuard: process.env.SKIP_AUTH_GUARD === 'true', + endpointUrls: { + baseUrl: process.env.UPSTREAM_BASE_URL ?? ' ', + supportNetwork: process.env.SUPPORT_NETWORK_ENDPOINT ?? ' ', + inPersonVisits: process.env.IN_PERSON_VISITS_ENDPOINT ?? ' ', + postInPersonVisits: process.env.IN_PERSON_VISITS_POST_ENDPOINT ?? ' ', + attachments: process.env.ATTACHMENTS_ENDPOINT ?? ' ', + }, buildInfo: { - buildNumber: - process.env.VPI_APP_LABEL === undefined - ? 'localBuild' - : process.env.VPI_APP_LABEL, + buildNumber: process.env.VPI_APP_LABEL ?? 'localBuild', }, }); diff --git a/src/controllers/cases/cases.controller.spec.ts b/src/controllers/cases/cases.controller.spec.ts index 79c60d2..1afa3de 100644 --- a/src/controllers/cases/cases.controller.spec.ts +++ b/src/controllers/cases/cases.controller.spec.ts @@ -36,6 +36,7 @@ import { idirUsernameHeaderField, startRowNumParamName, } from '../../common/constants/upstream-constants'; +import configuration from '../../configuration/configuration'; describe('CasesController', () => { let controller: CasesController; @@ -44,7 +45,7 @@ describe('CasesController', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ConfigModule.forRoot()], + imports: [ConfigModule.forRoot({ load: [configuration] })], providers: [ CasesService, AuthService, diff --git a/src/controllers/cases/cases.service.spec.ts b/src/controllers/cases/cases.service.spec.ts index f63b2a3..aa35b3c 100644 --- a/src/controllers/cases/cases.service.spec.ts +++ b/src/controllers/cases/cases.service.spec.ts @@ -32,6 +32,7 @@ import { } from '../../entities/attachments.entity'; import { getMockRes } from '@jest-mock/express'; import { startRowNumParamName } from '../../common/constants/upstream-constants'; +import configuration from '../../configuration/configuration'; describe('CasesService', () => { let service: CasesService; @@ -42,7 +43,7 @@ describe('CasesService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [HttpModule, ConfigModule.forRoot()], + imports: [HttpModule, ConfigModule.forRoot({ load: [configuration] })], providers: [ CasesService, SupportNetworkService, diff --git a/src/controllers/incidents/incidents.controller.spec.ts b/src/controllers/incidents/incidents.controller.spec.ts index 2da0b5a..c4bed1a 100644 --- a/src/controllers/incidents/incidents.controller.spec.ts +++ b/src/controllers/incidents/incidents.controller.spec.ts @@ -26,6 +26,7 @@ import { } from '../../entities/attachments.entity'; import { getMockRes } from '@jest-mock/express'; import { startRowNumParamName } from '../../common/constants/upstream-constants'; +import configuration from '../../configuration/configuration'; describe('IncidentsController', () => { let controller: IncidentsController; @@ -34,7 +35,7 @@ describe('IncidentsController', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ConfigModule.forRoot()], + imports: [ConfigModule.forRoot({ load: [configuration] })], providers: [ IncidentsService, SupportNetworkService, diff --git a/src/controllers/incidents/incidents.service.spec.ts b/src/controllers/incidents/incidents.service.spec.ts index a31f1e9..78730b7 100644 --- a/src/controllers/incidents/incidents.service.spec.ts +++ b/src/controllers/incidents/incidents.service.spec.ts @@ -26,6 +26,7 @@ import { } from '../../entities/attachments.entity'; import { getMockRes } from '@jest-mock/express'; import { startRowNumParamName } from '../../common/constants/upstream-constants'; +import configuration from '../../configuration/configuration'; describe('IncidentsService', () => { let service: IncidentsService; @@ -35,7 +36,7 @@ describe('IncidentsService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [HttpModule, ConfigModule.forRoot()], + imports: [HttpModule, ConfigModule.forRoot({ load: [configuration] })], providers: [ IncidentsService, SupportNetworkService, diff --git a/src/controllers/memos/memos.controller.spec.ts b/src/controllers/memos/memos.controller.spec.ts index 98f4d6f..f591437 100644 --- a/src/controllers/memos/memos.controller.spec.ts +++ b/src/controllers/memos/memos.controller.spec.ts @@ -20,6 +20,7 @@ import { } from '../../entities/attachments.entity'; import { getMockRes } from '@jest-mock/express'; import { startRowNumParamName } from '../../common/constants/upstream-constants'; +import configuration from '../../configuration/configuration'; describe('MemosController', () => { let controller: MemosController; @@ -28,7 +29,7 @@ describe('MemosController', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ConfigModule.forRoot()], + imports: [ConfigModule.forRoot({ load: [configuration] })], providers: [ MemosService, AttachmentsService, diff --git a/src/controllers/memos/memos.service.spec.ts b/src/controllers/memos/memos.service.spec.ts index ca9f948..d7a7820 100644 --- a/src/controllers/memos/memos.service.spec.ts +++ b/src/controllers/memos/memos.service.spec.ts @@ -21,6 +21,7 @@ import { IdPathParams } from '../../dto/id-path-params.dto'; import { FilterQueryParams } from '../../dto/filter-query-params.dto'; import { getMockRes } from '@jest-mock/express'; import { startRowNumParamName } from '../../common/constants/upstream-constants'; +import configuration from '../../configuration/configuration'; describe('MemosService', () => { let service: MemosService; @@ -29,7 +30,7 @@ describe('MemosService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ConfigModule.forRoot()], + imports: [ConfigModule.forRoot({ load: [configuration] })], providers: [ MemosService, AttachmentsService, diff --git a/src/controllers/service-requests/service-requests.controller.spec.ts b/src/controllers/service-requests/service-requests.controller.spec.ts index d410382..07ef867 100644 --- a/src/controllers/service-requests/service-requests.controller.spec.ts +++ b/src/controllers/service-requests/service-requests.controller.spec.ts @@ -26,6 +26,7 @@ import { import { AuthService } from '../../common/guards/auth/auth.service'; import { getMockRes } from '@jest-mock/express'; import { startRowNumParamName } from '../../common/constants/upstream-constants'; +import configuration from '../../configuration/configuration'; describe('ServiceRequestsController', () => { let controller: ServiceRequestsController; @@ -34,7 +35,7 @@ describe('ServiceRequestsController', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ConfigModule.forRoot()], + imports: [ConfigModule.forRoot({ load: [configuration] })], providers: [ ServiceRequestsService, AuthService, diff --git a/src/controllers/service-requests/service-requests.service.spec.ts b/src/controllers/service-requests/service-requests.service.spec.ts index f2df065..20b5730 100644 --- a/src/controllers/service-requests/service-requests.service.spec.ts +++ b/src/controllers/service-requests/service-requests.service.spec.ts @@ -26,6 +26,7 @@ import { } from '../../entities/attachments.entity'; import { getMockRes } from '@jest-mock/express'; import { startRowNumParamName } from '../../common/constants/upstream-constants'; +import configuration from '../../configuration/configuration'; describe('ServiceRequestsService', () => { let service: ServiceRequestsService; @@ -35,7 +36,7 @@ describe('ServiceRequestsService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [HttpModule, ConfigModule.forRoot()], + imports: [HttpModule, ConfigModule.forRoot({ load: [configuration] })], providers: [ ServiceRequestsService, SupportNetworkService, diff --git a/src/external-api/request-preparer/request-preparer.service.spec.ts b/src/external-api/request-preparer/request-preparer.service.spec.ts index 4020a09..2aeb908 100644 --- a/src/external-api/request-preparer/request-preparer.service.spec.ts +++ b/src/external-api/request-preparer/request-preparer.service.spec.ts @@ -29,6 +29,7 @@ import { startRowNumParamName, } from '../../common/constants/upstream-constants'; import { RecordCountNeededEnum } from '../../common/constants/enumerations'; +import configuration from '../../configuration/configuration'; describe('RequestPreparerService', () => { let service: RequestPreparerService; @@ -38,7 +39,7 @@ describe('RequestPreparerService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ConfigModule.forRoot()], + imports: [ConfigModule.forRoot({ load: [configuration] })], providers: [ RequestPreparerService, UtilitiesService, diff --git a/src/external-api/token-refresher/token-refresher.service.spec.ts b/src/external-api/token-refresher/token-refresher.service.spec.ts index cc66bef..2e05d0f 100644 --- a/src/external-api/token-refresher/token-refresher.service.spec.ts +++ b/src/external-api/token-refresher/token-refresher.service.spec.ts @@ -11,6 +11,7 @@ import { InternalAxiosRequestConfig, RawAxiosRequestHeaders, } from 'axios'; +import configuration from '../../configuration/configuration'; describe('TokenRefresherService', () => { let service: TokenRefresherService; @@ -19,7 +20,7 @@ describe('TokenRefresherService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ConfigModule.forRoot()], + imports: [ConfigModule.forRoot({ load: [configuration] })], providers: [ TokenRefresherService, { provide: HttpService, useValue: { get: jest.fn(), post: jest.fn() } }, diff --git a/src/helpers/attachments/attachments.service.spec.ts b/src/helpers/attachments/attachments.service.spec.ts index 39d757c..0761d6b 100644 --- a/src/helpers/attachments/attachments.service.spec.ts +++ b/src/helpers/attachments/attachments.service.spec.ts @@ -18,6 +18,7 @@ import { NestedAttachmentsEntity, } from '../../entities/attachments.entity'; import { getMockRes } from '@jest-mock/express'; +import configuration from '../../configuration/configuration'; describe('AttachmentsService', () => { let service: AttachmentsService; @@ -26,7 +27,7 @@ describe('AttachmentsService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ConfigModule.forRoot()], + imports: [ConfigModule.forRoot({ load: [configuration] })], providers: [ AttachmentsService, UtilitiesService, diff --git a/src/helpers/attachments/attachments.service.ts b/src/helpers/attachments/attachments.service.ts index 8565085..d91a49a 100644 --- a/src/helpers/attachments/attachments.service.ts +++ b/src/helpers/attachments/attachments.service.ts @@ -5,10 +5,6 @@ import { FilterQueryParams } from '../../dto/filter-query-params.dto'; import { ConfigService } from '@nestjs/config'; import { RequestPreparerService } from '../../external-api/request-preparer/request-preparer.service'; import { NestedAttachmentsEntity } from '../../entities/attachments.entity'; -import { - baseUrlEnvVarName, - attachmentsEndpointEnvVarName, -} from '../../common/constants/upstream-constants'; import { idName } from '../../common/constants/parameter-constants'; import { Response } from 'express'; @@ -22,8 +18,8 @@ export class AttachmentsService { private readonly requestPreparerService: RequestPreparerService, ) { this.url = ( - this.configService.get(baseUrlEnvVarName) + - this.configService.get(attachmentsEndpointEnvVarName) + this.configService.get('endpointUrls.baseUrl') + + this.configService.get('endpointUrls.attachments') ).replace(/\s/g, '%20'); this.workspace = this.configService.get('workspaces.attachments'); this.sinceFieldName = this.configService.get('sinceFieldName.attachments'); diff --git a/src/helpers/in-person-visits/in-person-visits.service.spec.ts b/src/helpers/in-person-visits/in-person-visits.service.spec.ts index 2098569..587b1e3 100644 --- a/src/helpers/in-person-visits/in-person-visits.service.spec.ts +++ b/src/helpers/in-person-visits/in-person-visits.service.spec.ts @@ -21,6 +21,7 @@ import { } from '../../common/constants/parameter-constants'; import { PostInPersonVisitDtoUpstream } from '../../dto/post-in-person-visit.dto'; import { getMockRes } from '@jest-mock/express'; +import configuration from '../../configuration/configuration'; describe('InPersonVisitsService', () => { let service: InPersonVisitsService; @@ -29,7 +30,7 @@ describe('InPersonVisitsService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ConfigModule.forRoot()], + imports: [ConfigModule.forRoot({ load: [configuration] })], providers: [ InPersonVisitsService, UtilitiesService, diff --git a/src/helpers/in-person-visits/in-person-visits.service.ts b/src/helpers/in-person-visits/in-person-visits.service.ts index 420dec1..ff53234 100644 --- a/src/helpers/in-person-visits/in-person-visits.service.ts +++ b/src/helpers/in-person-visits/in-person-visits.service.ts @@ -5,11 +5,6 @@ import { FilterQueryParams } from '../../dto/filter-query-params.dto'; import { ConfigService } from '@nestjs/config'; import { RequestPreparerService } from '../../external-api/request-preparer/request-preparer.service'; import { NestedInPersonVisitsEntity } from '../../entities/in-person-visits.entity'; -import { - baseUrlEnvVarName, - inPersonVisitsEndpointEnvVarName, - postInPersonVisitsEndpointEnvVarName, -} from '../../common/constants/upstream-constants'; import { CONTENT_TYPE, idName, @@ -31,12 +26,12 @@ export class InPersonVisitsService { private readonly requestPreparerService: RequestPreparerService, ) { this.url = ( - this.configService.get(baseUrlEnvVarName) + - this.configService.get(inPersonVisitsEndpointEnvVarName) + this.configService.get('endpointUrls.baseUrl') + + this.configService.get('endpointUrls.inPersonVisits') ).replace(/\s/g, '%20'); this.postUrl = ( - this.configService.get(baseUrlEnvVarName) + - this.configService.get(postInPersonVisitsEndpointEnvVarName) + this.configService.get('endpointUrls.baseUrl') + + this.configService.get('endpointUrls.postInPersonVisits') ).replace(/\s/g, '%20'); this.workspace = this.configService.get('workspaces.inPersonVisits'); this.postWorkspace = this.configService.get( diff --git a/src/helpers/support-network/support-network.service.spec.ts b/src/helpers/support-network/support-network.service.spec.ts index f6adc8c..877f3fd 100644 --- a/src/helpers/support-network/support-network.service.spec.ts +++ b/src/helpers/support-network/support-network.service.spec.ts @@ -20,6 +20,7 @@ import { sinceParamName, } from '../../common/constants/parameter-constants'; import { getMockRes } from '@jest-mock/express'; +import configuration from '../../configuration/configuration'; describe('SupportNetworkService', () => { let service: SupportNetworkService; @@ -28,7 +29,7 @@ describe('SupportNetworkService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ConfigModule.forRoot()], + imports: [ConfigModule.forRoot({ load: [configuration] })], providers: [ SupportNetworkService, UtilitiesService, @@ -53,7 +54,7 @@ describe('SupportNetworkService', () => { mockClear(); }); - it('should be defined', () => { + it('should be defined a', () => { expect(service).toBeDefined(); }); diff --git a/src/helpers/support-network/support-network.service.ts b/src/helpers/support-network/support-network.service.ts index a688d4f..72adede 100644 --- a/src/helpers/support-network/support-network.service.ts +++ b/src/helpers/support-network/support-network.service.ts @@ -8,10 +8,6 @@ import { NestedSupportNetworkEntity } from '../../entities/support-network.entit import { IdPathParams } from '../../dto/id-path-params.dto'; import { FilterQueryParams } from '../../dto/filter-query-params.dto'; import { RequestPreparerService } from '../../external-api/request-preparer/request-preparer.service'; -import { - baseUrlEnvVarName, - supportNetworkEndpointEnvVarName, -} from '../../common/constants/upstream-constants'; import { idName } from '../../common/constants/parameter-constants'; import { Response } from 'express'; @@ -25,8 +21,8 @@ export class SupportNetworkService { private readonly requestPreparerService: RequestPreparerService, ) { this.url = ( - this.configService.get(baseUrlEnvVarName) + - this.configService.get(supportNetworkEndpointEnvVarName) + this.configService.get('endpointUrls.baseUrl') + + this.configService.get('endpointUrls.supportNetwork') ).replace(/\s/g, '%20'); this.workspace = this.configService.get('workspaces.supportNetwork'); this.sinceFieldName = this.configService.get(