diff --git a/packages/snjs/mocha/files.test.js b/packages/snjs/mocha/files.test.js index 7a266170b..7d9fe89ec 100644 --- a/packages/snjs/mocha/files.test.js +++ b/packages/snjs/mocha/files.test.js @@ -112,7 +112,7 @@ describe('files', function () { it('should encrypt and upload small file', async function () { await setup({ fakeCrypto: false, subscription: true }) - const response = await fetch('/packages/snjs/mocha/assets/small_file.md') + const response = await fetch('/mocha/assets/small_file.md') const buffer = new Uint8Array(await response.arrayBuffer()) const file = await Files.uploadFile(fileService, buffer, 'my-file', 'md', 1000) @@ -125,7 +125,7 @@ describe('files', function () { it('should encrypt and upload big file', async function () { await setup({ fakeCrypto: false, subscription: true }) - const response = await fetch('/packages/snjs/mocha/assets/two_mb_file.md') + const response = await fetch('/mocha/assets/two_mb_file.md') const buffer = new Uint8Array(await response.arrayBuffer()) const file = await Files.uploadFile(fileService, buffer, 'my-file', 'md', 100000) @@ -138,7 +138,7 @@ describe('files', function () { it('should delete file', async function () { await setup({ fakeCrypto: false, subscription: true }) - const response = await fetch('/packages/snjs/mocha/assets/small_file.md') + const response = await fetch('/mocha/assets/small_file.md') const buffer = new Uint8Array(await response.arrayBuffer()) const file = await Files.uploadFile(fileService, buffer, 'my-file', 'md', 1000) diff --git a/packages/snjs/mocha/settings.test.js b/packages/snjs/mocha/settings.test.js index 76db11e12..b5e479302 100644 --- a/packages/snjs/mocha/settings.test.js +++ b/packages/snjs/mocha/settings.test.js @@ -147,7 +147,7 @@ describe('settings service', function () { await context.activatePaidSubscriptionForUser() - const response = await fetch('/packages/snjs/mocha/assets/small_file.md') + const response = await fetch('/mocha/assets/small_file.md') const buffer = new Uint8Array(await response.arrayBuffer()) await Files.uploadFile(application.files, buffer, 'my-file', 'md', 1000) @@ -161,7 +161,7 @@ describe('settings service', function () { const usedSettingBefore = await application.settings.getSubscriptionSetting( SettingName.create(SettingName.NAMES.FileUploadBytesUsed).getValue(), ) - expect(usedSettingBefore).to.equal('196') + expect(usedSettingBefore).to.equal('1374') await context.activatePaidSubscriptionForUser({ cancelPreviousSubscription: true, @@ -181,7 +181,7 @@ describe('settings service', function () { ) expect(usedSettingAfter).to.equal(usedSettingBefore) - const afterResponse = await fetch('/packages/snjs/mocha/assets/small_file.md') + const afterResponse = await fetch('/mocha/assets/small_file.md') const afterBuffer = new Uint8Array(await afterResponse.arrayBuffer()) await Files.uploadFile(application.files, afterBuffer, 'my-file', 'md', 1000) @@ -196,6 +196,6 @@ describe('settings service', function () { const usedSettingAfterSecondUpload = await application.settings.getSubscriptionSetting( SettingName.create(SettingName.NAMES.FileUploadBytesUsed).getValue(), ) - expect(usedSettingAfterSecondUpload).to.equal('392') + expect(usedSettingAfterSecondUpload).to.equal('2748') }) }) diff --git a/packages/snjs/mocha/sync_tests/online.test.js b/packages/snjs/mocha/sync_tests/online.test.js index df1cb80b0..33735d626 100644 --- a/packages/snjs/mocha/sync_tests/online.test.js +++ b/packages/snjs/mocha/sync_tests/online.test.js @@ -572,6 +572,39 @@ describe('online syncing', function () { expect(rawPayloads.length).to.equal(expectedItemCount) }).timeout(Factory.SixtySecondTimeout) + it('should sync all items including ones that are breaching transfer limit', async function () { + const response = await fetch('/mocha/assets/small_file.md') + const buffer = new Uint8Array(await response.arrayBuffer()) + const numberOfNotesToExceedThe1MBTransferLimit = 80 + + const testContext = await Factory.createAppContextWithFakeCrypto() + await testContext.launch() + await testContext.register() + const email = testContext.email + const password = testContext.password + + for (let i = 0; i < numberOfNotesToExceedThe1MBTransferLimit; i++) { + await testContext.createSyncedNote(`note ${i}`, buffer.toString()) + await testContext.sync() + } + await testContext.deinit() + + const secondContext = await Factory.createAppContextWithFakeCrypto(Math.random(), email, password) + await secondContext.launch() + const firstSyncPromise = secondContext.awaitNextSyncEvent(SyncEvent.PaginatedSyncRequestCompleted) + await secondContext.signIn() + + const firstSyncResult = await firstSyncPromise + + expect(firstSyncResult.retrievedPayloads.length > 0).to.be.true + expect(firstSyncResult.retrievedPayloads.length < numberOfNotesToExceedThe1MBTransferLimit).to.be.true + expect(firstSyncResult.successResponseData.cursor_token).not.to.be.undefined + + expect(secondContext.noteCount).to.equal(numberOfNotesToExceedThe1MBTransferLimit) + + await secondContext.deinit() + }).timeout(Factory.SixtySecondTimeout) + it('syncing an item should storage it encrypted', async function () { const note = await Factory.createMappedNote(application) await application.mutator.setItemDirty(note)