Merge pull request #1278 from sharelatex/revert-1240-as-import-status-page

Revert "Import status page"

GitOrigin-RevId: aa667a7b158b38aeccc8251931cc20589dcb2bdd
This commit is contained in:
Alasdair Smith
2018-12-17 15:45:36 +00:00
committed by sharelatex
parent 56784c4089
commit 1160620afc
13 changed files with 18 additions and 228 deletions
@@ -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