Concept
Integration tests need a real database that starts empty and is theirs alone. A throwaway database per run, in Docker or created by the test setup, keeps tests honest and repeatable.
The tutor works through these with you, in conversation and code. A session ends when you have shown them, not when a video does.
A few lines that show Test databases doing its job.
# docker-compose.test.yml starts postgres on a spare port
docker compose -f docker-compose.test.yml up -d
export TEST_DATABASE_URL=postgres://app:app@localhost:5433/app_test
# the test setup runs migrations, then truncates between tests
npm testPointing tests at the development database. A test that truncates tables wipes your local data, and leftover rows from development make tests flaky.
Your roadmap puts these before Test databases, unless you already know them.
Once a session shows you understand Test databases, it comes back for review. Each review takes a minute and tells the memory model how well you still know it.