To dos and Done:
- Login page doesnt have theme or layout correct but is correct when logging off -'use client', route to login page on home - Done
- Console errors when on login page
- Contacts/State re-populate on render that have been removed already, need to store current contacts. Done - Add localstorage feature with useMemo - Done
- So it doesnt have to load/re-render again and again it will only render again if local items change
- On initial contact load names are Random Contact not generated randomly - Done
- randomContacts generate math random contacts not by static Array.
- Name Badge should be First letter of first name and Last letter of last name - Done
- In Avatar comp the sliced name takes the firstletter of both names and capitalizes them.
- Prevent end user from visiting /contacts untill login has been set. - Done
- Added middleware to prevent /contacts from being visited untill login has been set
- Implement Cypress e2e testing for randomContacts - Done
- Login Avatar badge needs the Capital letters - Done
- First two letters of email using slice
If you're reading this, you've been selected to tackle a classic scenario in the software engineering world: inheriting a project that seemed fine until tests were written.
Your coworker built what appeared to be a polished, fully functional NextJS authentication application. But alas, they delayed writing tests until the end of the project. Once the tests were written it became clear that the application was super broken and does not meet the specified product requirements. Now we need your help! Update the codebase so that the written tests pass.
Your task is to:
- Review the existing code and accompanying tests.
- Identify where and why the application fails to meet the test scenarios.
- Refactor or rewrite the necessary parts of the application.
- Ensure that all tests pass.
Here's how to get started with this project:
git clone [email protected]:colossal-digital/colosl-js-code-test.git
cd colosl-js-code-test
npm install
npm run test