chore: refactor history e2e tests (#2468)
This commit is contained in:
@@ -4,7 +4,7 @@ import { createNoteParams } from './lib/Items.js'
|
|||||||
chai.use(chaiAsPromised)
|
chai.use(chaiAsPromised)
|
||||||
const expect = chai.expect
|
const expect = chai.expect
|
||||||
|
|
||||||
describe.skip('history manager', () => {
|
describe('history manager', () => {
|
||||||
const largeCharacterChange = 25
|
const largeCharacterChange = 25
|
||||||
|
|
||||||
let application, history, email, password
|
let application, history, email, password
|
||||||
@@ -265,23 +265,21 @@ describe.skip('history manager', () => {
|
|||||||
expect(itemHistoryOrError.isFailed()).to.equal(true)
|
expect(itemHistoryOrError.isFailed()).to.equal(true)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('create basic history entries 2', async function () {
|
it('should save initial revisions on server', async () => {
|
||||||
const item = await Factory.createSyncedNote(application)
|
const item = await Factory.createSyncedNote(application)
|
||||||
|
|
||||||
await Factory.sleep(Factory.ServerRevisionCreationDelay)
|
await Factory.sleep(Factory.ServerRevisionCreationDelay)
|
||||||
|
|
||||||
let itemHistoryOrError = await application.listRevisions.execute({ itemUuid: item.uuid })
|
const itemHistoryOrError = await application.listRevisions.execute({ itemUuid: item.uuid })
|
||||||
let itemHistory = itemHistoryOrError.getValue()
|
expect(itemHistoryOrError.isFailed()).to.equal(false)
|
||||||
|
|
||||||
/** Server history should save initial revision */
|
const itemHistory = itemHistoryOrError.getValue()
|
||||||
expect(itemHistory.length).to.equal(1)
|
expect(itemHistory.length).to.equal(1)
|
||||||
|
})
|
||||||
|
|
||||||
/** Sync within 5 seconds (ENV VAR dependend on self-hosted setup), should not create a new entry */
|
it('should not create new revisions within the revision frequency window', async () => {
|
||||||
await Factory.markDirtyAndSyncItem(application, item)
|
const item = await Factory.createSyncedNote(application)
|
||||||
itemHistoryOrError = await application.listRevisions.execute({ itemUuid: item.uuid })
|
|
||||||
itemHistory = itemHistoryOrError.getValue()
|
|
||||||
expect(itemHistory.length).to.equal(1)
|
|
||||||
|
|
||||||
/** Sync with different contents, should not create a new entry */
|
|
||||||
await application.changeAndSaveItem.execute(
|
await application.changeAndSaveItem.execute(
|
||||||
item,
|
item,
|
||||||
(mutator) => {
|
(mutator) => {
|
||||||
@@ -291,13 +289,17 @@ describe.skip('history manager', () => {
|
|||||||
undefined,
|
undefined,
|
||||||
syncOptions,
|
syncOptions,
|
||||||
)
|
)
|
||||||
|
|
||||||
await Factory.sleep(Factory.ServerRevisionCreationDelay)
|
await Factory.sleep(Factory.ServerRevisionCreationDelay)
|
||||||
itemHistoryOrError = await application.listRevisions.execute({ itemUuid: item.uuid })
|
|
||||||
itemHistory = itemHistoryOrError.getValue()
|
const itemHistoryOrError = await application.listRevisions.execute({ itemUuid: item.uuid })
|
||||||
|
expect(itemHistoryOrError.isFailed()).to.equal(false)
|
||||||
|
|
||||||
|
const itemHistory = itemHistoryOrError.getValue()
|
||||||
expect(itemHistory.length).to.equal(1)
|
expect(itemHistory.length).to.equal(1)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('returns revisions from server', async function () {
|
it('should create new revisions outside the revision frequency window', async function () {
|
||||||
let item = await Factory.createSyncedNote(application)
|
let item = await Factory.createSyncedNote(application)
|
||||||
|
|
||||||
await Factory.sleep(Factory.ServerRevisionFrequency)
|
await Factory.sleep(Factory.ServerRevisionFrequency)
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ export class VaultsContext extends AppContext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async syncAndAwaitNotificationsProcessing() {
|
async syncAndAwaitNotificationsProcessing() {
|
||||||
await this.sleep(0.25, 'Waiting for notifications to propagate')
|
await this.sleep(1, 'Waiting for notifications to propagate')
|
||||||
|
|
||||||
const promise = this.resolveWhenAsyncFunctionCompletes(this.notifications, 'handleReceivedNotifications')
|
const promise = this.resolveWhenAsyncFunctionCompletes(this.notifications, 'handleReceivedNotifications')
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ export class VaultsContext extends AppContext {
|
|||||||
|
|
||||||
await this.awaitPromiseOrDoNothing(
|
await this.awaitPromiseOrDoNothing(
|
||||||
promise,
|
promise,
|
||||||
0.25,
|
1,
|
||||||
'Waiting for notifications timed out. Notifications might have been processed in previous sync.'
|
'Waiting for notifications timed out. Notifications might have been processed in previous sync.'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -287,8 +287,8 @@ export async function storagePayloadCount(application) {
|
|||||||
* The number of seconds between changes before a server creates a new revision.
|
* The number of seconds between changes before a server creates a new revision.
|
||||||
* Controlled via docker/syncing-server-js.env
|
* Controlled via docker/syncing-server-js.env
|
||||||
*/
|
*/
|
||||||
export const ServerRevisionFrequency = 2.5
|
export const ServerRevisionFrequency = 2.1
|
||||||
export const ServerRevisionCreationDelay = 2.5
|
export const ServerRevisionCreationDelay = 1.0
|
||||||
|
|
||||||
export function yesterday() {
|
export function yesterday() {
|
||||||
return new Date(new Date().setDate(new Date().getDate() - 1))
|
return new Date(new Date().setDate(new Date().getDate() - 1))
|
||||||
|
|||||||
Reference in New Issue
Block a user