* fix: make gatsby id static for hot reloading
* fix: catch duplication of challenge.id
* fix: handle CertificateNodes
Co-authored-by: Oliver Eyton-Williams <ojeytonwilliams@gmail.com>
* refactor: stop spreading challenge over the node
Instead of creating a Gatsby node with id of challenge.id, we create a
single node field that has all the challenge data.
While this makes the GraphQL queries more verbose, it means we're free
to create multiple nodes with the same challenge.id.
* test: update time-line test for new GQL schema
* test: update mocks with new GQL schema
* fix: improve tests for video challenges
* fix: remove unused challenges + get rid of no description warning
* fix: remove non-existent challenges from meta