| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- // 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
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
- */
- const Client = require('./helpers/Client')
- const request = require('request')
- const ClsiApp = require('./helpers/ClsiApp')
- const Settings = require('@overleaf/settings')
- describe('Simple LaTeX file', function () {
- before(function (done) {
- this.project_id = Client.randomId()
- this.request = {
- resources: [
- {
- path: 'main.tex',
- content: `\
- \\documentclass{article}
- \\begin{document}
- Hello world
- \\end{document}\
- `,
- },
- ],
- options: {
- metricsPath: 'clsi-perf',
- metricsMethod: 'priority',
- },
- }
- return ClsiApp.ensureRunning(() => {
- return Client.compile(
- this.project_id,
- this.request,
- (error, res, body) => {
- this.error = error
- this.res = res
- this.body = body
- return done()
- }
- )
- })
- })
- it('should return the PDF', function () {
- const pdf = Client.getOutputFile(this.body, 'pdf')
- return pdf.type.should.equal('pdf')
- })
- it('should return the log', function () {
- const log = Client.getOutputFile(this.body, 'log')
- return log.type.should.equal('log')
- })
- it('should provide the pdf for download', function (done) {
- const pdf = Client.getOutputFile(this.body, 'pdf')
- return request.get(pdf.url, (error, res, body) => {
- if (error) return done(error)
- res.statusCode.should.equal(200)
- return done()
- })
- })
- it('should provide the log for download', function (done) {
- const log = Client.getOutputFile(this.body, 'pdf')
- return request.get(log.url, (error, res, body) => {
- if (error) return done(error)
- res.statusCode.should.equal(200)
- return done()
- })
- })
- it('should gather personalized metrics', function (done) {
- request.get(`${Settings.apis.clsi.url}/metrics`, (err, res, body) => {
- if (err) return done(err)
- body
- .split('\n')
- .some(line => {
- return (
- line.startsWith('compile') &&
- line.includes('path="clsi-perf"') &&
- line.includes('method="priority"')
- )
- })
- .should.equal(true)
- done()
- })
- })
- })
|