list_view populates list template with journal entries- detail_view populates detail template with journal entry that matches request id
update_view populates form with journal entry that matches request id (when 'update' route hit with GET method)update_view accepts valid POST requestcreate_view returns data if POST request missing datadetail_view raises HTTPNotFound error if JournalEntry doesn't existupdate_view raises HTTPNotFound error if JournalEntry doesn't existcreate_view returns an empty dictionary for POST requestcreate_view returns dictionary for incomplete POST requestupdate_view has 302 status code after successful POSTupdate_view raises HTTPNotFound error if id doesn't existcreate_view has 302 status code after POSTgenerated journal entries are instance of JournalEntry model classmodel can be added successfully to databasemodel can be updated in databaselogin view with bad pw and username returns errorlogin view with bad pw and good username returns errorlogin view with good pw and bad username returns errorlogin view with correct credentials returns HTTPFound objectlogout function returns 302 status codelogout function returns instance of HTTP found
list view returns empty when database emptylist view shows same number of items as databaseupdate_view redirects to detail view of journal entrycreate_view redirects to list routegeneral invalid route returns 404invalid update route returns 404invalid create route returns 404invalid list route returns 404invalid detail route returns 404valid update route returns 200valid update route results in correct content rendered on pagevalid create route returns 200valid detail route returns 200new entry displays on its detail pagevalid list route returns 200valid list route results in correct content rendered on page