Browse Source

Promisify SummarisedUpdatesTests

GitOrigin-RevId: 65782b0cf6e552425d6fad716f74f8f3f22cf7e9
Domagoj Kriskovic 1 year ago
parent
commit
9150fc332c
1 changed files with 142 additions and 190 deletions
  1. 142 190
      services/project-history/test/acceptance/js/SummarisedUpdatesTests.js

+ 142 - 190
services/project-history/test/acceptance/js/SummarisedUpdatesTests.js

@@ -1,20 +1,4 @@
-/* eslint-disable
-    no-undef,
-    no-unused-vars,
-*/
-// TODO: This file was created by bulk-decaffeinate.
-// Fix any style issues and re-enable lint.
-/*
- * decaffeinate suggestions:
- * DS102: Remove unnecessary code created because of implicit returns
- * DS207: Consider shorter variations of null checks
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
- */
-import sinon from 'sinon'
 import { expect } from 'chai'
-import Settings from '@overleaf/settings'
-import request from 'request'
-import assert from 'node:assert'
 import mongodb from 'mongodb-legacy'
 import nock from 'nock'
 import * as ProjectHistoryClient from './helpers/ProjectHistoryClient.js'
@@ -22,228 +6,196 @@ import * as ProjectHistoryApp from './helpers/ProjectHistoryApp.js'
 const { ObjectId } = mongodb
 
 const MockHistoryStore = () => nock('http://127.0.0.1:3100')
-const MockFileStore = () => nock('http://127.0.0.1:3009')
 const MockWeb = () => nock('http://127.0.0.1:3000')
 
 const fixture = path => new URL(`../fixtures/${path}`, import.meta.url)
 
 describe('Summarized updates', function () {
-  beforeEach(function (done) {
+  beforeEach(async function () {
     this.projectId = new ObjectId().toString()
     this.historyId = new ObjectId().toString()
-    return ProjectHistoryApp.ensureRunning(error => {
-      if (error != null) {
-        throw error
-      }
 
-      MockHistoryStore().post('/api/projects').reply(200, {
-        projectId: this.historyId,
-      })
+    await ProjectHistoryApp.promises.ensureRunning()
 
-      return ProjectHistoryClient.initializeProject(
-        this.historyId,
-        (error, olProject) => {
-          if (error != null) {
-            throw error
-          }
-          MockWeb()
-            .get(`/project/${this.projectId}/details`)
-            .reply(200, {
-              name: 'Test Project',
-              overleaf: { history: { id: olProject.id } },
-            })
-
-          MockHistoryStore()
-            .get(`/api/projects/${this.historyId}/latest/history`)
-            .replyWithFile(200, fixture('chunks/7-8.json'))
-          MockHistoryStore()
-            .get(`/api/projects/${this.historyId}/versions/6/history`)
-            .replyWithFile(200, fixture('chunks/4-6.json'))
-          MockHistoryStore()
-            .get(`/api/projects/${this.historyId}/versions/3/history`)
-            .replyWithFile(200, fixture('chunks/0-3.json'))
-
-          return done()
-        }
-      )
+    MockHistoryStore().post('/api/projects').reply(200, {
+      projectId: this.historyId,
     })
+
+    const olProject = await ProjectHistoryClient.promises.initializeProject(
+      this.historyId
+    )
+
+    MockWeb()
+      .get(`/project/${this.projectId}/details`)
+      .reply(200, {
+        name: 'Test Project',
+        overleaf: { history: { id: olProject.id } },
+      })
+
+    MockHistoryStore()
+      .get(`/api/projects/${this.historyId}/latest/history`)
+      .replyWithFile(200, fixture('chunks/7-8.json'))
+    MockHistoryStore()
+      .get(`/api/projects/${this.historyId}/versions/6/history`)
+      .replyWithFile(200, fixture('chunks/4-6.json'))
+    MockHistoryStore()
+      .get(`/api/projects/${this.historyId}/versions/3/history`)
+      .replyWithFile(200, fixture('chunks/0-3.json'))
   })
 
   afterEach(function () {
     return nock.cleanAll()
   })
 
-  it('should return the latest summarized updates from a single chunk', function (done) {
-    return ProjectHistoryClient.getSummarizedUpdates(
+  it('should return the latest summarized updates from a single chunk', async function () {
+    const updates = await ProjectHistoryClient.promises.getSummarizedUpdates(
       this.projectId,
-      { min_count: 1 },
-      (error, updates) => {
-        if (error != null) {
-          throw error
-        }
-        expect(updates).to.deep.equal({
-          nextBeforeTimestamp: 6,
-          updates: [
-            {
-              fromV: 6,
-              toV: 8,
-              meta: {
-                users: ['5a5637efdac84e81b71014c4', 31],
-                start_ts: 1512383567277,
-                end_ts: 1512383572877,
-              },
-              pathnames: ['bar.tex', 'main.tex'],
-              project_ops: [],
-              labels: [],
-            },
-          ],
-        })
-        return done()
-      }
+      { min_count: 1 }
     )
+
+    expect(updates).to.deep.equal({
+      nextBeforeTimestamp: 6,
+      updates: [
+        {
+          fromV: 6,
+          toV: 8,
+          meta: {
+            users: ['5a5637efdac84e81b71014c4', 31],
+            start_ts: 1512383567277,
+            end_ts: 1512383572877,
+          },
+          pathnames: ['bar.tex', 'main.tex'],
+          project_ops: [],
+          labels: [],
+        },
+      ],
+    })
   })
 
-  it('should return the latest summarized updates, with min_count spanning multiple chunks', function (done) {
-    return ProjectHistoryClient.getSummarizedUpdates(
+  it('should return the latest summarized updates, with min_count spanning multiple chunks', async function () {
+    const updates = await ProjectHistoryClient.promises.getSummarizedUpdates(
       this.projectId,
-      { min_count: 5 },
-      (error, updates) => {
-        if (error != null) {
-          throw error
-        }
-        expect(updates).to.deep.equal({
-          updates: [
-            {
-              fromV: 6,
-              toV: 8,
-              meta: {
-                users: ['5a5637efdac84e81b71014c4', 31],
-                start_ts: 1512383567277,
-                end_ts: 1512383572877,
-              },
-              pathnames: ['bar.tex', 'main.tex'],
-              project_ops: [],
-              labels: [],
-            },
-            {
-              fromV: 5,
-              toV: 6,
-              meta: {
-                users: [31],
-                start_ts: 1512383366120,
-                end_ts: 1512383366120,
-              },
-              pathnames: [],
-              project_ops: [
-                {
-                  atV: 5,
-                  rename: {
-                    pathname: 'foo.tex',
-                    newPathname: 'bar.tex',
-                  },
-                },
-              ],
-              labels: [],
-            },
-            {
-              fromV: 2,
-              toV: 5,
-              meta: {
-                users: [31],
-                start_ts: 1512383313724,
-                end_ts: 1512383362905,
-              },
-              pathnames: ['foo.tex'],
-              project_ops: [],
-              labels: [],
-            },
+      { min_count: 5 }
+    )
+
+    expect(updates).to.deep.equal({
+      updates: [
+        {
+          fromV: 6,
+          toV: 8,
+          meta: {
+            users: ['5a5637efdac84e81b71014c4', 31],
+            start_ts: 1512383567277,
+            end_ts: 1512383572877,
+          },
+          pathnames: ['bar.tex', 'main.tex'],
+          project_ops: [],
+          labels: [],
+        },
+        {
+          fromV: 5,
+          toV: 6,
+          meta: {
+            users: [31],
+            start_ts: 1512383366120,
+            end_ts: 1512383366120,
+          },
+          pathnames: [],
+          project_ops: [
             {
-              fromV: 1,
-              toV: 2,
-              meta: {
-                users: [31],
-                start_ts: 1512383246874,
-                end_ts: 1512383246874,
+              atV: 5,
+              rename: {
+                pathname: 'foo.tex',
+                newPathname: 'bar.tex',
               },
-              pathnames: [],
-              project_ops: [
-                {
-                  atV: 1,
-                  rename: {
-                    pathname: 'bar.tex',
-                    newPathname: 'foo.tex',
-                  },
-                },
-              ],
-              labels: [],
             },
+          ],
+          labels: [],
+        },
+        {
+          fromV: 2,
+          toV: 5,
+          meta: {
+            users: [31],
+            start_ts: 1512383313724,
+            end_ts: 1512383362905,
+          },
+          pathnames: ['foo.tex'],
+          project_ops: [],
+          labels: [],
+        },
+        {
+          fromV: 1,
+          toV: 2,
+          meta: {
+            users: [31],
+            start_ts: 1512383246874,
+            end_ts: 1512383246874,
+          },
+          pathnames: [],
+          project_ops: [
             {
-              fromV: 0,
-              toV: 1,
-              meta: {
-                users: [31],
-                start_ts: 1512383015633,
-                end_ts: 1512383015633,
+              atV: 1,
+              rename: {
+                pathname: 'bar.tex',
+                newPathname: 'foo.tex',
               },
-              pathnames: ['main.tex'],
-              project_ops: [],
-              labels: [],
             },
           ],
-        })
-        return done()
-      }
-    )
+          labels: [],
+        },
+        {
+          fromV: 0,
+          toV: 1,
+          meta: {
+            users: [31],
+            start_ts: 1512383015633,
+            end_ts: 1512383015633,
+          },
+          pathnames: ['main.tex'],
+          project_ops: [],
+          labels: [],
+        },
+      ],
+    })
   })
 
-  it('should return the summarized updates from a before version at the start of a chunk', function (done) {
+  it('should return the summarized updates from a before version at the start of a chunk', async function () {
     MockHistoryStore()
       .get(`/api/projects/${this.historyId}/versions/4/history`)
       .replyWithFile(200, fixture('chunks/4-6.json'))
-    return ProjectHistoryClient.getSummarizedUpdates(
+
+    const updates = await ProjectHistoryClient.promises.getSummarizedUpdates(
       this.projectId,
-      { before: 4 },
-      (error, updates) => {
-        if (error != null) {
-          throw error
-        }
-        expect(updates.updates[0].toV).to.equal(4)
-        return done()
-      }
+      { before: 4 }
     )
+
+    expect(updates.updates[0].toV).to.equal(4)
   })
 
-  it('should return the summarized updates from a before version in the middle of a chunk', function (done) {
+  it('should return the summarized updates from a before version in the middle of a chunk', async function () {
     MockHistoryStore()
       .get(`/api/projects/${this.historyId}/versions/5/history`)
       .replyWithFile(200, fixture('chunks/4-6.json'))
-    return ProjectHistoryClient.getSummarizedUpdates(
+
+    const updates = await ProjectHistoryClient.promises.getSummarizedUpdates(
       this.projectId,
-      { before: 5 },
-      (error, updates) => {
-        if (error != null) {
-          throw error
-        }
-        expect(updates.updates[0].toV).to.equal(5)
-        return done()
-      }
+      { before: 5 }
     )
+
+    expect(updates.updates[0].toV).to.equal(5)
   })
 
-  return it('should return the summarized updates from a before version at the end of a chunk', function (done) {
+  it('should return the summarized updates from a before version at the end of a chunk', async function () {
     MockHistoryStore()
       .get(`/api/projects/${this.historyId}/versions/6/history`)
       .replyWithFile(200, fixture('chunks/4-6.json'))
-    return ProjectHistoryClient.getSummarizedUpdates(
+
+    const updates = await ProjectHistoryClient.promises.getSummarizedUpdates(
       this.projectId,
-      { before: 6 },
-      (error, updates) => {
-        if (error != null) {
-          throw error
-        }
-        expect(updates.updates[0].toV).to.equal(6)
-        return done()
-      }
+      { before: 6 }
     )
+
+    expect(updates.updates[0].toV).to.equal(6)
   })
 })