mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
Merge pull request #1278 from sharelatex/revert-1240-as-import-status-page
Revert "Import status page" GitOrigin-RevId: aa667a7b158b38aeccc8251931cc20589dcb2bdd
This commit is contained in:
committed by
sharelatex
parent
56784c4089
commit
1160620afc
@@ -132,7 +132,7 @@ module.exports = MockV1Api =
|
||||
console.error "error starting MockV1Api:", error.message
|
||||
process.exit(1)
|
||||
|
||||
app.get '/api/v1/sharelatex/users/:user_id/docs/:token/info', (req, res, next) =>
|
||||
app.get '/api/v1/sharelatex/docs/:token/info', (req, res, next) =>
|
||||
res.json { allow: true, exported: false }
|
||||
|
||||
MockV1Api.run()
|
||||
|
||||
@@ -35,9 +35,6 @@ describe "TokenAccessController", ->
|
||||
exported: false
|
||||
})
|
||||
}
|
||||
'../../infrastructure/Features': @Features = {
|
||||
hasFeature: sinon.stub().returns(false)
|
||||
}
|
||||
'logger-sharelatex': {log: sinon.stub(), err: sinon.stub()}
|
||||
'settings-sharelatex': {
|
||||
overleaf:
|
||||
@@ -253,7 +250,6 @@ describe "TokenAccessController", ->
|
||||
@req.url = '/123abc'
|
||||
@res = new MockResponse()
|
||||
@res.redirect = sinon.stub()
|
||||
@res.render = sinon.stub()
|
||||
@next = sinon.stub()
|
||||
@req.params['read_and_write_token'] = '123abc'
|
||||
@TokenAccessHandler.findProjectWithReadAndWriteToken = sinon.stub()
|
||||
@@ -261,11 +257,8 @@ describe "TokenAccessController", ->
|
||||
|
||||
describe 'when project was not exported from v1', ->
|
||||
beforeEach ->
|
||||
@TokenAccessHandler.getV1DocInfo = sinon.stub().yields(null, {
|
||||
allow: true
|
||||
exists: true
|
||||
exported: false
|
||||
})
|
||||
@TokenAccessHandler.checkV1ProjectExported = sinon.stub()
|
||||
.callsArgWith(1, null, false)
|
||||
@TokenAccessController.readAndWriteToken @req, @res, @next
|
||||
|
||||
it 'should redirect to v1', (done) ->
|
||||
@@ -276,87 +269,14 @@ describe "TokenAccessController", ->
|
||||
)).to.equal true
|
||||
done()
|
||||
|
||||
describe 'when project was not exported from v1 but forcing import to v2', ->
|
||||
beforeEach ->
|
||||
@Features.hasFeature.returns(true)
|
||||
|
||||
describe 'with project name', ->
|
||||
beforeEach ->
|
||||
@TokenAccessHandler.getV1DocInfo = sinon.stub().yields(null, {
|
||||
allow: true
|
||||
exists: true
|
||||
exported: false
|
||||
has_owner: true
|
||||
name: 'A title'
|
||||
})
|
||||
@TokenAccessController.readAndWriteToken @req, @res, @next
|
||||
|
||||
it 'should render v2-import page with name', (done) ->
|
||||
expect(@res.render.calledWith(
|
||||
'project/v2-import',
|
||||
{
|
||||
projectId: '123abc'
|
||||
name: 'A title'
|
||||
hasOwner: true
|
||||
}
|
||||
)).to.equal true
|
||||
done()
|
||||
|
||||
describe 'with project owner', ->
|
||||
beforeEach ->
|
||||
@TokenAccessHandler.getV1DocInfo = sinon.stub().yields(null, {
|
||||
allow: true
|
||||
exists: true
|
||||
exported: false
|
||||
has_owner: true
|
||||
name: 'A title'
|
||||
})
|
||||
@TokenAccessController.readAndWriteToken @req, @res, @next
|
||||
|
||||
it 'should render v2-import page', (done) ->
|
||||
expect(@res.render.calledWith(
|
||||
'project/v2-import',
|
||||
{
|
||||
projectId: '123abc',
|
||||
hasOwner: true
|
||||
name: 'A title'
|
||||
}
|
||||
)).to.equal true
|
||||
done()
|
||||
|
||||
describe 'without project owner', ->
|
||||
beforeEach ->
|
||||
@TokenAccessHandler.getV1DocInfo = sinon.stub().yields(null, {
|
||||
allow: true
|
||||
exists: true
|
||||
exported: false
|
||||
has_owner: false
|
||||
name: 'A title'
|
||||
})
|
||||
@TokenAccessController.readAndWriteToken @req, @res, @next
|
||||
|
||||
it 'should render v2-import page', (done) ->
|
||||
expect(@res.render.calledWith(
|
||||
'project/v2-import',
|
||||
{
|
||||
projectId: '123abc',
|
||||
hasOwner: false
|
||||
name: 'A title'
|
||||
}
|
||||
)).to.equal true
|
||||
done()
|
||||
|
||||
describe 'when project was exported from v1', ->
|
||||
beforeEach ->
|
||||
@TokenAccessHandler.getV1DocInfo = sinon.stub().yields(null, {
|
||||
allow: true
|
||||
exists: true
|
||||
exported: true
|
||||
})
|
||||
@TokenAccessHandler.checkV1ProjectExported = sinon.stub()
|
||||
.callsArgWith(1, null, false)
|
||||
@TokenAccessController.readAndWriteToken @req, @res, @next
|
||||
|
||||
it 'should call next with a not-found error', (done) ->
|
||||
expect(@next.callCount).to.equal 1
|
||||
expect(@next.callCount).to.equal 0
|
||||
done()
|
||||
|
||||
describe 'when token access is off, but user has higher access anyway', ->
|
||||
|
||||
@@ -21,7 +21,6 @@ describe "TokenAccessHandler", ->
|
||||
'../../models/Project': {Project: @Project = {}}
|
||||
'settings-sharelatex': @settings = {}
|
||||
'../Collaborators/CollaboratorsHandler': @CollaboratorsHandler = {}
|
||||
'../User/UserGetter': @UserGetter = {}
|
||||
'../V1/V1Api': @V1Api = {
|
||||
request: sinon.stub()
|
||||
}
|
||||
@@ -494,12 +493,11 @@ describe "TokenAccessHandler", ->
|
||||
|
||||
describe 'getV1DocInfo', ->
|
||||
beforeEach ->
|
||||
@v2UserId = 123
|
||||
@callback = sinon.stub()
|
||||
|
||||
describe 'when v1 api not set', ->
|
||||
beforeEach ->
|
||||
@TokenAccessHandler.getV1DocInfo @token, @v2UserId, @callback
|
||||
@TokenAccessHandler.getV1DocInfo @token, @callback
|
||||
|
||||
it 'should not check access and return default info', ->
|
||||
expect(@V1Api.request.called).to.equal false
|
||||
@@ -513,45 +511,19 @@ describe "TokenAccessHandler", ->
|
||||
beforeEach ->
|
||||
@settings.apis = { v1: 'v1' }
|
||||
|
||||
describe 'on UserGetter.getUser success', ->
|
||||
describe 'on success', ->
|
||||
beforeEach ->
|
||||
@UserGetter.getUser = sinon.stub().yields(null, {
|
||||
overleaf: { id: 1 }
|
||||
})
|
||||
@TokenAccessHandler.getV1DocInfo @token, @v2UserId, @callback
|
||||
|
||||
it 'should get user', ->
|
||||
expect(@UserGetter.getUser.calledWith(@v2UserId)).to.equal true
|
||||
|
||||
describe 'on UserGetter.getUser error', ->
|
||||
beforeEach ->
|
||||
@error = new Error('failed to get user')
|
||||
@UserGetter.getUser = sinon.stub().yields(@error)
|
||||
@TokenAccessHandler.getV1DocInfo @token, @v2UserId, @callback
|
||||
|
||||
it 'should callback with error', ->
|
||||
expect(@callback.calledWith @error).to.equal true
|
||||
|
||||
describe 'on V1Api.request success', ->
|
||||
beforeEach ->
|
||||
@v1UserId = 1
|
||||
@UserGetter.getUser = sinon.stub().yields(null, {
|
||||
overleaf: { id: @v1UserId }
|
||||
})
|
||||
@V1Api.request = sinon.stub().callsArgWith(1, null, null, 'mock-data')
|
||||
@TokenAccessHandler.getV1DocInfo @token, @v2UserId, @callback
|
||||
@TokenAccessHandler.getV1DocInfo @token, @callback
|
||||
|
||||
it 'should return response body', ->
|
||||
expect(@V1Api.request.calledWith { url: "/api/v1/sharelatex/users/#{@v1UserId}/docs/#{@token}/info" }).to.equal true
|
||||
expect(@V1Api.request.calledWith { url: "/api/v1/sharelatex/docs/#{@token}/info" }).to.equal true
|
||||
expect(@callback.calledWith null, 'mock-data').to.equal true
|
||||
|
||||
describe 'on V1Api.request error', ->
|
||||
describe 'on error', ->
|
||||
beforeEach ->
|
||||
@UserGetter.getUser = sinon.stub().yields(null, {
|
||||
overleaf: { id: 1 }
|
||||
})
|
||||
@V1Api.request = sinon.stub().callsArgWith(1, 'error')
|
||||
@TokenAccessHandler.getV1DocInfo @token, @v2UserId, @callback
|
||||
@TokenAccessHandler.getV1DocInfo @token, @callback
|
||||
|
||||
it 'should callback with error', ->
|
||||
expect(@callback.calledWith 'error').to.equal true
|
||||
|
||||
Reference in New Issue
Block a user