Testing Project
Your project this week is to build a to-do list tracker. It should allow users to create, complete and delete tasks from a list.
You should have automated tests covering all the main user stories. Each story below has a test “shell”. You have to fill out the body to create a failing test for each story. You should then see the tests pass as you add features to your app. This is the minimum amount of testing required: you should write additional tests to cover the rest of your code.
User stories
Core
As a busy person, I want to:
- Add tasks to a list so that I can keep track of them
test("Submitting a new task adds it to the list", () => {
// test goes here
}); - Check things off my list so that I can see what I’ve done
test("Checking an entry marks it as complete", () => {
// test goes here
}); - Delete things from the list if I don’t need to do them anymore
test("Deleting an entry removes it from the list", () => {
// test goes here
});
As a motor-impaired user, I want to:
- Use all the features of the app without a mouse
Stretch
As a busy person, I want to:
- Filter out completed to-dos from my list so that I can focus on what’s left to do
test("Toggling the filter hides completed tasks from the list", () => {
// test goes here
});
Acceptance Criteria
- A working to-do list
- Tests for (at least) each user story
- A responsive, mobile-first design
- Ensure your app is accessible to as many different users as possible