diff --git a/lib/visualRegressionTracker.spec.ts b/lib/visualRegressionTracker.spec.ts index 0895ce8..b964426 100644 --- a/lib/visualRegressionTracker.spec.ts +++ b/lib/visualRegressionTracker.spec.ts @@ -208,7 +208,7 @@ describe("VisualRegressionTracker", () => { }; mockedAxios.post.mockResolvedValueOnce({ data: build }); - await vrt["start"](); + const result = await vrt.start(); expect(mockedAxios.post).toHaveBeenCalledWith( `${config.apiUrl}/builds`, @@ -225,6 +225,7 @@ describe("VisualRegressionTracker", () => { ); expect(vrt["buildId"]).toBe(buildId); expect(vrt["projectId"]).toBe(projectId); + expect(result).toBe(build); }); test("should handle exception", async () => { @@ -233,7 +234,7 @@ describe("VisualRegressionTracker", () => { mockedAxios.post.mockRejectedValueOnce(axiosError401); try { - await vrt["start"](); + await vrt.start(); } catch {} expect(handleExceptionMock).toHaveBeenCalledWith(axiosError401); diff --git a/lib/visualRegressionTracker.ts b/lib/visualRegressionTracker.ts index 8bc7629..5b64925 100644 --- a/lib/visualRegressionTracker.ts +++ b/lib/visualRegressionTracker.ts @@ -43,20 +43,22 @@ export class VisualRegressionTracker { return !!this.buildId && !!this.projectId; } - async start() { + async start(): Promise { const data = { branchName: this.config.branchName, project: this.config.project, ciBuildId: this.config.ciBuildId, }; - const build: BuildResponse = await axios + return axios .post(`${this.config.apiUrl}/builds`, data, this.axiosConfig) .then(this.handleResponse) - .catch(this.handleException); - - this.buildId = build.id; - this.projectId = build.projectId; + .catch(this.handleException) + .then((build: BuildResponse) => { + this.buildId = build.id; + this.projectId = build.projectId; + return build; + }); } async stop() { diff --git a/package-lock.json b/package-lock.json index 51f54cd..3e4f728 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@visual-regression-tracker/sdk-js", - "version": "4.5.0", + "version": "4.6.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -709,9 +709,9 @@ } }, "@types/jest": { - "version": "26.0.15", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.15.tgz", - "integrity": "sha512-s2VMReFXRg9XXxV+CW9e5Nz8fH2K1aEhwgjUqPPbQd7g95T0laAcvLv032EhFHIa5GHsZ8W7iJEQVaJq6k3Gog==", + "version": "26.0.19", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.19.tgz", + "integrity": "sha512-jqHoirTG61fee6v6rwbnEuKhpSKih0tuhqeFbCmMmErhtu3BYlOZaXWjffgOstMM4S/3iQD31lI5bGLTrs97yQ==", "dev": true, "requires": { "jest-diff": "^26.0.0", @@ -795,9 +795,9 @@ } }, "@types/node": { - "version": "14.14.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.10.tgz", - "integrity": "sha512-J32dgx2hw8vXrSbu4ZlVhn1Nm3GbeCFNw2FWL8S5QKucHGY0cyNwjdQdO+KMBZ4wpmC7KhLCiNsdk1RFRIYUQQ==", + "version": "14.14.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.16.tgz", + "integrity": "sha512-naXYePhweTi+BMv11TgioE2/FXU4fSl29HAH1ffxVciNsH3rYXjNP2yM8wqmSm7jS20gM8TIklKiTen+1iVncw==", "dev": true }, "@types/normalize-package-data": { @@ -1015,9 +1015,9 @@ "dev": true }, "axios": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz", - "integrity": "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { "follow-redirects": "^1.10.0" } @@ -1881,9 +1881,9 @@ } }, "follow-redirects": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", - "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==" + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==" }, "for-in": { "version": "1.0.2", diff --git a/package.json b/package.json index ca4bca8..119fa0f 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,8 @@ "axios": "^0.21.0" }, "devDependencies": { - "@types/jest": "^26.0.5", - "@types/node": "^14.0.23", + "@types/jest": "^26.0.19", + "@types/node": "^14.14.16", "jest": "^25.5.4", "ts-jest": "^25.5.1", "typescript": "^3.9.7"