- now we only have one API version, it doesn't make sense to keep
"canary" around
- renaming it to `endpoints/` makes more sense for this
- this commit renames the `core/server/api/canary/` folder to
`core/server/api/endpoints/`
- it also fixes the naming in test titles and the various other places
we relied on this
refs: https://github.com/TryGhost/Toolbox/issues/229
- we are getting rid of the concept of having multiple api versions in a single ghost install
- removed all the code for multiple api versions & left canary wired up, but without the version in the URL
- TODO: reorganise the folders so there's no canary folder when we're closer to shipping
we need to minimise the pain of merging changes across from main for now
refs https://github.com/TryGhost/Team/issues/1545
- Remapped `member.subscribed` value based on newsletter subscriptions in API output
- Enabled filtering by subscribed status for multiple newsletters
Co-authored-by: Matt Hanley <git@matthanley.co.uk>
- I might be the only person who uses these, but I like to dig into coverage reports so I can see where we've got holes
- In Ghost the reports is huge and unweildy, and it's hard to see what coverage is like for components grouped by folders
- html-spa reporter fixes this, it makes a beautiful nested tree view, but you can also switch to flat
- it's so much more useful for working on coverage in an area of the codebase!
- Updating our config to have `--check-coverage` enforces that the coverage meets a certain level.
- The default is 95 I believe, but our coverage is lower.
- I've set the levels to our current levels, so any drop below these numbers will cause the build to fail.
- I've also set the reporters to be text, html and cobertura so we always have a mini report, the full HTML files to navigate and cobertura for CI
- Cleaned up CI so we don't use the cov:unit command as we're now using codecov
- This also means we can remove the cov:unit command which was weird to use because it uses the last test run, which can be confusing
There are some files we don't expect _unit_ tests for - they are e2e tested and tracking that is a different problem!
- express routes and wiring files
- this does not count middleware. Middleware functions should be fully unit tested
- previous API version files
- canary api endpoint configuration files
- this does not count api utils, valiation and serialisation which can be unit tested