mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Merge pull request #3278 from overleaf/as-prop-type-test-fail
Make prop-type errors fail the frontend tests GitOrigin-RevId: 4676239be8bfc541397740bdbe4044751e088c82
This commit is contained in:
parent
5256572356
commit
a124c3e4f4
1 changed files with 28 additions and 0 deletions
28
services/web/test/frontend/prop-types.test.js
Normal file
28
services/web/test/frontend/prop-types.test.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* Make tests fail when prop-types are incorrect.
|
||||
*
|
||||
* React's prop-types library logs an console.error when the types are
|
||||
* incorrect. Since this error is only in the console, tests that fail the type-
|
||||
* check will still pass.
|
||||
*
|
||||
* To ensure that type-checking is tested, monkey-patch the global console.error
|
||||
* to fail the tests when prop-types errors.
|
||||
*/
|
||||
const originalConsoleError = global.console.error
|
||||
before(function() {
|
||||
global.console.error = (message, ...args) => {
|
||||
// Ensure we still log the error
|
||||
originalConsoleError(message, ...args)
|
||||
|
||||
// Check if the error is from prop-types
|
||||
if (/Failed prop type/.test(message)) {
|
||||
// Throw an error, causing the test to fail
|
||||
throw new Error(message)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// Restore the original method
|
||||
after(function() {
|
||||
global.console.error = originalConsoleError
|
||||
})
|
Loading…
Reference in a new issue