| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import { ensureUserExists, login } from './helpers/login'
- import { createProject } from './helpers/project'
- import { startWith } from './helpers/config'
- import { throttledRecompile } from './helpers/compile'
- describe('SandboxedCompiles', function () {
- ensureUserExists({ email: 'user@example.com' })
- const enabledVars = {
- DOCKER_RUNNER: 'true',
- SANDBOXED_COMPILES: 'true',
- SANDBOXED_COMPILES_SIBLING_CONTAINERS: 'true',
- ALL_TEX_LIVE_DOCKER_IMAGE_NAMES: '2023,2022',
- }
- describe('enabled in Server Pro', () => {
- startWith({
- pro: true,
- vars: enabledVars,
- })
- beforeEach(function () {
- login('user@example.com')
- })
- it('should offer TexLive images and switch the compiler', () => {
- cy.visit('/project')
- createProject('sandboxed')
- const recompile = throttledRecompile()
- // check produced PDF
- cy.get('.pdf-viewer').should('contain.text', 'sandboxed')
- cy.get('[aria-label="View logs"]').click()
- cy.findByText(/This is pdfTeX, Version .+ \(TeX Live 2023\) /)
- cy.get('header').findByText('Menu').click()
- cy.findByText('TeX Live version')
- .parent()
- .findByText('2023')
- .parent()
- .select('2022')
- // close editor menu
- cy.get('#left-menu-modal').click()
- // Trigger compile with other TexLive version
- recompile()
- cy.get('[aria-label="View logs"]').click()
- cy.findByText(/This is pdfTeX, Version .+ \(TeX Live 2022\) /)
- })
- })
- function checkUsesDefaultCompiler() {
- beforeEach(function () {
- login('user@example.com')
- })
- it('should not offer TexLive images and use default compiler', () => {
- cy.visit('/project')
- createProject('sandboxed')
- // check produced PDF
- cy.get('.pdf-viewer').should('contain.text', 'sandboxed')
- cy.get('[aria-label="View logs"]').click()
- cy.findByText(/This is pdfTeX, Version .+ \(TeX Live 2024\) /)
- cy.get('header').findByText('Menu').click()
- cy.findByText('Word Count') // wait for lazy loading
- cy.findByText('TeX Live version').should('not.exist')
- })
- }
- describe('disabled in Server Pro', () => {
- startWith({ pro: true })
- checkUsesDefaultCompiler()
- })
- describe.skip('unavailable in CE', () => {
- startWith({ pro: false, vars: enabledVars })
- checkUsesDefaultCompiler()
- })
- })
|