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

