diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 188d999..80ed74d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,6 +27,16 @@ jobs: run: npm run lint - name: Run unit tests run: npm test + env: + CI: true + CLIENT: ${{secrets.CLIENT}} + SECRET: ${{secrets.SECRET}} + SAS_USERNAME: ${{secrets.SAS_USERNAME}} + SAS_PASSWORD: ${{secrets.SAS_PASSWORD}} + SERVER_URL: ${{secrets.SERVER_URL}} + SERVER_TYPE: ${{secrets.SERVER_TYPE}} + ACCESS_TOKEN: ${{secrets.ACCESS_TOKEN}} + REFRESH_TOKEN: ${{secrets.REFRESH_TOKEN}} - name: Build Package run: npm run package:lib env: diff --git a/package-lock.json b/package-lock.json index 131ba4a..876dd2f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3688,6 +3688,12 @@ "is-obj": "^2.0.0" } }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", + "dev": true + }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", diff --git a/package.json b/package.json index 4439984..aba0861 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@types/isomorphic-fetch": "0.0.35", "@types/jest": "^26.0.15", "cp": "^0.2.0", + "dotenv": "^8.2.0", "jest": "^25.5.4", "path": "^0.12.7", "rimraf": "^3.0.2", diff --git a/src/test/SessionManager.spec.ts b/src/test/SessionManager.spec.ts new file mode 100644 index 0000000..b793f78 --- /dev/null +++ b/src/test/SessionManager.spec.ts @@ -0,0 +1,38 @@ +import dotenv from 'dotenv' +import { SessionManager } from '../SessionManager' +import { CsrfToken } from '../types' + +describe('SessionManager', () => { + const setCsrfToken = jest + .fn() + .mockImplementation((csrfToken: CsrfToken) => console.log(csrfToken)) + + beforeAll(() => { + dotenv.config() + }) + + it('should instantiate', () => { + const sessionManager = new SessionManager( + 'http://test-server.com', + 'test context', + setCsrfToken + ) + + expect(sessionManager).toBeInstanceOf(SessionManager) + expect(sessionManager.debug).toBeFalsy() + expect((sessionManager as any).serverUrl).toEqual('http://test-server.com') + expect((sessionManager as any).contextName).toEqual('test context') + }) + + it('should set the debug flag', () => { + const sessionManager = new SessionManager( + 'http://test-server.com', + 'test context', + setCsrfToken + ) + + sessionManager.debug = true + + expect(sessionManager.debug).toBeTruthy() + }) +})