The default jest log reporter is garbage. Webstorm replaces it with
their own (which is pretty good), but vscode unfortunately uses the
default one.
This PR does the following to the jest reporter
**1. Replace the default reporter with the jest-ci-spec-reporter
reporter.**
The default reporter is hiding console logs and incorrectly rewriting
console history. Now, logs like these:
```
[20:56:16] INFO: ---- DROPPING DATABASE ----
[20:56:17] INFO: ---- DROPPED DATABASE ----
```
will be visible again. The default reporter was showing them for half a
second, then rewrites log history and hides them.
**2. add custom logger to showcase hidden error messages**
Some error messages are hidden and are only displayed at the end of the
test, in a very ugly way. If the test hangs, you might have to wait a
long time to see those errors. This PR makes sure that errors are logged
when they were intended to be logged.
They will not be printed in a pretty way (Webstorm for example prints
them in red and clickable, like a proper error message) - but at least
they will be printed instead of leaving you in the dark
**Override console global in jest setup to hide console log spam**
This turns logs like
```
console.log
initPayloadInt done
at log (helpers/initPayloadInt.ts:27:11)
```
into
`initPayloadInt done`
## CI
Yes, CI logs are actually usable now. We no longer have random console
logs floating around! It was horrible!
Finally, you can actually see which console logs belong to which test.
Before:
https://github.com/payloadcms/payload/actions/runs/11241674859/job/31253918825
After:
https://github.com/payloadcms/payload/actions/runs/11242035327/job/31255031760?pr=8607
**BEFORE**

What test triggered this "ValidationError: The following field is
invalid: filteredRelation" error? Who knows!! Could have been any test.
We will never know...
**AFTER:**
Finally, clarity

## Screenshots - Passing database test suite
## Passing database test suite
### Before


### After

## Screenshots - Failing test
### Before - that's where it hangs

### After - that's where it hangs
Actually shows me the error without having to wait 3 minutes for test to
timeout:

### Before - after waiting for 3 minutes for test to timeout:

(1000 lines of same error spam...)

### After - after waiting for 3 minutes for test to timeout:


(Error spam)

3.4 KiB
3.4 KiB