mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-07 20:31:06 -05:00
Ensure that the TimeoutUpgradePrompt component returns null (#5482)
GitOrigin-RevId: 95e58537c82d9bedd055839cfb916a06c1ef96df
This commit is contained in:
parent
12eab99990
commit
09f3962ded
2 changed files with 33 additions and 12 deletions
|
@ -11,7 +11,7 @@ function TimeoutUpgradePrompt() {
|
|||
const { hasPremiumCompile, isProjectOwner } = useEditorContext()
|
||||
|
||||
if (!window.ExposedSettings.enableSubscriptions || hasPremiumCompile) {
|
||||
return
|
||||
return null
|
||||
}
|
||||
|
||||
return (
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { expect } from 'chai'
|
||||
import sinon from 'sinon'
|
||||
import fetchMock from 'fetch-mock'
|
||||
import { screen, fireEvent, waitFor } from '@testing-library/react'
|
||||
import { screen, fireEvent, waitFor, cleanup } from '@testing-library/react'
|
||||
import PdfPreview from '../../../../../frontend/js/features/pdf-preview/components/pdf-preview'
|
||||
import { renderWithEditorContext } from '../../../helpers/render-with-context'
|
||||
|
||||
|
@ -255,7 +255,32 @@ describe('<PdfPreview/>', function () {
|
|||
})
|
||||
|
||||
it('displays an error message if there was a compile error', async function () {
|
||||
mockCompileError('compile-in-progress')
|
||||
const compileErrorStatuses = {
|
||||
'clear-cache':
|
||||
'Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.',
|
||||
'clsi-maintenance':
|
||||
'The compile servers are down for maintenance, and will be back shortly.',
|
||||
'compile-in-progress':
|
||||
'A previous compile is still running. Please wait a minute and try compiling again.',
|
||||
exited: 'Server Error',
|
||||
failure: 'No PDF',
|
||||
generic: 'Server Error',
|
||||
'project-too-large': 'Project too large',
|
||||
'rate-limited': 'Compile rate limit hit',
|
||||
terminated: 'Compilation cancelled',
|
||||
timedout: 'Timed out',
|
||||
'too-recently-compiled':
|
||||
'This project was compiled very recently, so this compile has been skipped.',
|
||||
unavailable:
|
||||
'Sorry, the compile server for your project was temporarily unavailable. Please try again in a few moments.',
|
||||
foo:
|
||||
'Sorry, something went wrong and your project could not be compiled. Please try again in a few moments.',
|
||||
}
|
||||
|
||||
for (const [status, message] of Object.entries(compileErrorStatuses)) {
|
||||
cleanup()
|
||||
fetchMock.restore()
|
||||
mockCompileError(status)
|
||||
|
||||
renderWithEditorContext(<PdfPreview />, { scope })
|
||||
|
||||
|
@ -263,12 +288,8 @@ describe('<PdfPreview/>', function () {
|
|||
await screen.findByRole('button', { name: 'Compiling…' })
|
||||
await screen.findByRole('button', { name: 'Recompile' })
|
||||
|
||||
screen.getByText(
|
||||
'Please wait for your other compile to finish before trying again.'
|
||||
)
|
||||
|
||||
expect(fetchMock.called('express:/project/:projectId/compile')).to.be.true // TODO: auto_compile query param
|
||||
expect(fetchMock.called('express:/build/:file')).to.be.false // TODO: actual path
|
||||
screen.getByText(message)
|
||||
}
|
||||
})
|
||||
|
||||
it('displays expandable raw logs', async function () {
|
||||
|
|
Loading…
Reference in a new issue