Просмотр исходного кода

adding tests for exports status checker

hugh-obrien 8 лет назад
Родитель
Сommit
0321780eba

+ 0 - 1
services/web/app/coffee/Features/Exports/ExportsHandler.coffee

@@ -104,7 +104,6 @@ module.exports = ExportsHandler = self =
 			url: "#{settings.apis.v1.url}/api/v1/sharelatex/exports/#{export_id}"
 			url: "#{settings.apis.v1.url}/api/v1/sharelatex/exports/#{export_id}"
 			auth: {user: settings.apis.v1.user, pass: settings.apis.v1.pass }
 			auth: {user: settings.apis.v1.user, pass: settings.apis.v1.pass }
 		}, (err, res, body) ->
 		}, (err, res, body) ->
-			console.log(body)
 			if err?
 			if err?
 				logger.err err:err, export:export_id, "error making request to v1 export"
 				logger.err err:err, export:export_id, "error making request to v1 export"
 				callback err
 				callback err

+ 12 - 0
services/web/test/unit/coffee/Exports/ExportsControllerTests.coffee

@@ -37,3 +37,15 @@ describe 'ExportsController', ->
 		@controller.exportProject @req, send:(body) =>
 		@controller.exportProject @req, send:(body) =>
 			expect(body).to.deep.equal {export_v1_id: 897}
 			expect(body).to.deep.equal {export_v1_id: 897}
 			done()
 			done()
+
+	it 'should ask the handler to return the status of an export', (done) ->
+		@handler.fetchExport = sinon.stub().yields(
+			null,
+			 "{\"id\":897, \"status_summary\":\"completed\"}")
+
+		@req.params = {project_id: project_id, export_id: 897}
+		@controller.exportStatus @req, send:(body) =>
+			expect(body).to.deep.equal {export_json: {
+				 status_summary: 'completed', status_detail: undefined
+			}}
+			done()

+ 31 - 0
services/web/test/unit/coffee/Exports/ExportsHandlerTests.coffee

@@ -235,3 +235,34 @@ describe 'ExportsHandler', ->
 			it "should return the error", ->
 			it "should return the error", ->
 				(@callback.args[0][0] instanceof Error)
 				(@callback.args[0][0] instanceof Error)
 				.should.equal true
 				.should.equal true
+
+	describe 'fetchExport', ->
+		beforeEach (done) ->
+			@settings.apis =
+				v1:
+					url: 'http://localhost:5000'
+					user: 'overleaf'
+					pass: 'pass'
+			@export_id = 897
+			@body = "{\"id\":897, \"status_summary\":\"completed\"}"
+			@stubGet = sinon.stub().yields(null, {statusCode: 200}, { body: @body })
+			done()
+
+		describe "when all goes well", ->
+			beforeEach (done) ->
+				@stubRequest.get = @stubGet
+				@ExportsHandler.fetchExport @export_id, (error, body) =>
+					@callback(error, body)
+					done()
+
+			it 'should issue the request', ->
+				expect(@stubGet.getCall(0).args[0]).to.deep.equal
+					url: @settings.apis.v1.url + '/api/v1/sharelatex/exports/' + @export_id
+					auth:
+						user: @settings.apis.v1.user
+						pass: @settings.apis.v1.pass
+
+			it 'should return the v1 export id', ->
+				@callback.calledWith(null, { body: @body })
+				.should.equal true
+