h1. Test Plan h3. User registration #website * empty username * non-matching passwords * verify error messages and green OK messages * verify welcome e-mail h3. Working with task tree * Create task ** create subtask ** alt-enter creates a task in the place of selection ** tab/shift-tab for reordering while creting ** create several tasks fast ** separate mode when 2 enters required to add 2 tasks * Tree navigation ** Up/Down ** Collapse/Expand tasks ** Collapse/Expand notes ** Collapse all/Expand all ** Collapse/expand branch with Ctrl-Alt-<> * Edit task ** Start editing task (F2/F4, double-click) ** Cancel editing: ESC, red cross ** Confirm editing: click ouside, click on Save, Enter ** Shift-Enter for multiline * Delete task ** several in a row ** Delete key ** undo ** delete task by removing task text *** save *** enter * HTML task content ** Shall render a link as a link ** Shall allow to insert links via <a> tag * Complete/Invalidate/Reopen ** one task ** task with subtasks ** several in a row ** undo * Copy/Cut/Paste ** within same checklist ** to another checklist ** with subtasks ** undo * Tasks reordering ** Mouse: DnD with shift pressed ** Keyboard - Up/Down, Left/Right * Notes ** add note (due: 11 Nov) ** edit note ** delete note ** work with notes on search page ** work with notes on due page * Tasks coloring ** Color with keyboard (1-6) ** Color with popup ** Reset color * Details on mode ** add task ** edit task ** add note * Move completed down mode ** add task in "completed" section ** complete/reopen task * Extract checklist command (also known by xx shortcut) h3. Due functionality * Due options ** today ** tomorrow ** asap ** overdue * Due dialog ** show current due, if present ** add due - no clear due link expected ** various syntax ** clear due ** asap link * Task adding/editing with due ** various syntax ** can clear due ** can avoid parsing with dot at the end * Notifications * Due tab ** Change due link ** Color is shown ** Print mode ** notes can be edited h3. Search * due: now and other options * in: closed, open, all * changed: today,yesterday. h3. Assignee #PRO_users * Notifications when assigned/unassigned * Notifications for assigned tasks h3. Incorrect login with Humanized error reporting h3. Navigate to link shortcut (gg) h3. Task actions menu (shortcut aa) #important * Invoke from toolbar * Invoke with keyboard * xx comand is disabled when no children * all commands work * all shortcuts work when actions popup is open h3. Bulk Copy/Move * All options * Change button text Copy<->Move * Target checklist options ** new checklist ** existing checklist ** No current checklist in the target list * Copy to a single root node * Undo in all cases h3. Import * Plain text format ** multi-level tasks addition * Confluence format * OPML format * Undo * Option to replace existing tasks with imported ones ** When selection is present on a child task ** Shall replace title if imported from OPML ** undo * Contextual import ** with existing tasks on the same level ** with undo ** without selection - imported shall go to top h3. Export #important * All formats * All options * Export all lists to zip h3. Sorting tasks * All variants * Move completed tasks down if corresponding option is selected in "View options" * Do not move completed tasks down if corresponding option is NOT selected in "View options" h3. Sidebar * show/hide ** remember state after logout/login * All actions in sidebar * Sidebar on search page and due page * '?' shows popup #new ** on list page ** on search page ** on due page h3. Sharing #important * Invitation process ** email address completion ** custom text inclusion ** send a copy of notification to self ** Accept invitation * Per-checklist share dialog on the main index page * Permalinks ** Keeps collapse/expand ** Keeps filter ** Can be used in invitation * Unsharing ** From dialog, with undo ** From checklist page, with undo * Notifications ** Test changes for notification message - this should be tested with unit tests! *** Task **** created **** deleted **** deleted with subtasks - should include corresponding note **** edited **** status changed (all states) *** note added/changed *** checklist title edited *** task moved to another checklist *** import tasks ** Notifications include actual text of the tasks, and parent task breadcrumbs ** Allow to select users to notify ** If only self selected, link "notify about changes" remains, because considered as a test notification ** Select all/none links appear only if >= 5 users share the checklist * Daily digest #PRO_users ** Test changes for notification (see http://checkvist.com/checklists/3318/tasks/492471 above) ** Sent once a day (can be tested from administration page by kir and sashka :) ** includes only changes in checklists user has access to at the moment of sending ** Subscribe/unsubscribe *** From checklist page *** from user profile page *** can subscribe to public read-only checklists * Read-only sharing of a list to a user ** Invite read-only #PRO_users *** Can invite only from checklists whose author is Pro user *** notification about invitation mentiones read-only access ** Change reader-writer access *** only author can change the access from reader to writer and back ** Read-only access disallows write operations *** create/edit/delete tasks *** change task color *** change checklist name/archive checklist ** Read only access allows *** collapse/expand *** hide completed *** enable/disable task numbering *** subscribe for notifications (for Pro users) ** Read-only access can be used only in checklists whose author is Pro user. And read only invitations are available to non-pro writers to such checklists * Read-only publishing ** publish/unpublish *** from checklist page *** from index page ** Access published checklist as guest *** collapse/expand *** view added notes *** export (all options) *** view options memorizing *** print dialog *** links to login/register from copy dialog ** Access published checklist as another user (not owner) *** collapse/expand *** view added notes *** export (all options) *** Copy/paste via ctrl-C/V to own checklist *** Copy/paste whole checklist to own checklist **** move should be unavailable **** copy to new checklist **** copy to existing checklist *** view options memorizing *** print dialog h3. HTTPS #PRO_users #important * All users can use HTTPS to ** login ** create new account ** change user profile * Pro users can use HTTPS also for all other operations, like ** View/edit tasks/checklists ** export data ** anything else * Admin access requires! HTTPS and available only to kir/sashka h3. User profile * Change e-mail to exiting one * Change password requires correct confirmation * Customize UI #PRO_users ** Logo ** colors ** custom CSS * Change notification settings ** Send daily digest now h3. Bookmarklet * Login to bookmarklet ** Incorrect login with Humanized error reporting * Shall include text of the current selection * Shall remember target checklist * Open target checklist after tasks addition, if selected * Ingegrations ** Jira ** Simple link ** YouTrack ** Gmail h3. Printing view * Checklist page * Index page with list of checklists * Due tab h3. Payment * Create new user (starting from Pricing page) * Subscribe ** Press subscribe button ** use some fake account to make the payment ** ensure notification is received (via PayPal UI) ** ensure user was switched to Pro mode * Unsubscribe ** Remove subscription from Checklist UI - ensure pro mode has disappeared ** Remove subscription from PayPal UI - ensure pro mode has disappeared h3. Working with checklists #important * Create checklist ** edit name right after creation ** from Checklists popup - by typing new list name ** from index page ** create task after saving checklist name ** Undo * Delete checklist ** from checklist page, with undo ** from index page, bulk delete, with undo * Edit checklist name ** In Opera, with single click ** cancel editing ** submit editing with button; with Enter * Archive checklists ** Undo ** Switch lists on home page ** Archive/Unarchive from index page ** Archive/Unarchive from checklist page * Checklist sorting on index page ** Shall be preserved after logout/login * Keyboard and mouse navigation for Lists (ll) in navigation * Completed tasks progress, popup with details