This test will make use of the Chuck Norris Jokes API. Feel free to read through the documentation to familiarise yourself with it before beginning.
Throughout the challenge, please feel free to:
- ask questions (we're here to help you, not drill you).
- use Google/search engines (you won't be penalised for forgetting some syntax - it happens to us all).
- code in the IDE/development environment of your choosing (using whatever tools and packages/libraries you would usually use in your day-to-day work).
- Spin up a React application using Create React App (or any other React based FE framework of your choosing).
- Build a simple page containing:
- a button that fetches a random joke when clicked.
- a list of all unique jokes that have been fetched.
- Allow the user to select the category of the joke they want to fetch when they press the button.
- Error handling: display an error when the API response is unsuccessful
- Automically fetch a new joke on fetch of a duplicate joke
- Apply some styling to the page
- Write one (or more) meaningful unit test
- Typescript
- Use semantic HTML elements and apply any applicable accessibility attributes to elements, to ensure a good user experience using for users using screen readers