diff --git a/.gitignore b/.gitignore index 077d0e37f..32c847494 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,6 @@ samples/lib/ test/development/secrets.ts -.nyc_output/* \ No newline at end of file +.nyc_output/* + +.idea/* \ No newline at end of file diff --git a/src/tasks/LargeFileUploadTask.ts b/src/tasks/LargeFileUploadTask.ts index 31bd4229a..b9ecd5956 100644 --- a/src/tasks/LargeFileUploadTask.ts +++ b/src/tasks/LargeFileUploadTask.ts @@ -263,8 +263,8 @@ export class LargeFileUploadTask { * (rawResponse.status === 200 && responseBody.id) -> This additional condition is applicable only for OneDrive API. */ if (rawResponse.status === 201 || (rawResponse.status === 200 && responseBody.id)) { - const uploadResult = UploadResult.CreateUploadResult(responseBody, rawResponse.headers); - return uploadResult; + this.reportProgress(uploadEventHandlers, nextRange); + return UploadResult.CreateUploadResult(responseBody, rawResponse.headers); } /* Handling the API issue where the case of Outlook upload response property -'nextExpectedRanges' is not uniform. @@ -275,9 +275,13 @@ export class LargeFileUploadTask { nextExpectedRanges: responseBody.NextExpectedRanges || responseBody.nextExpectedRanges, }; this.updateTaskStatus(res); - if (uploadEventHandlers && uploadEventHandlers.progress) { - uploadEventHandlers.progress(nextRange, uploadEventHandlers.extraCallbackParam); - } + this.reportProgress(uploadEventHandlers, nextRange); + } + } + + private reportProgress(uploadEventHandlers: UploadEventHandlers, nextRange: Range) { + if (uploadEventHandlers && uploadEventHandlers.progress) { + uploadEventHandlers.progress(nextRange, uploadEventHandlers.extraCallbackParam); } } diff --git a/test/common/tasks/LargeFileUploadTask.ts b/test/common/tasks/LargeFileUploadTask.ts index a6d498201..754a2bc65 100644 --- a/test/common/tasks/LargeFileUploadTask.ts +++ b/test/common/tasks/LargeFileUploadTask.ts @@ -177,7 +177,7 @@ describe("LargeFileUploadTask.ts", () => { assert.isDefined(result); assert.instanceOf(result, UploadResult); assert.equal(result["location"], location); - assert.isFalse(isProgressReportCalled); + assert.isTrue(isProgressReportCalled); }); it("Test without progress callback", async () => {