Test Scripts

Table of Contents

  1. Alignment Tool
  2. Relationship Tool
  3. Approval Tool

Alignment Tool

  1. General
    1. Appearance in any supported browser (Firefox, Safari, IE6 and IE7) should match the appearance in Firefox 3 on a Mac, to the extent possible
  2. Initial state
    1. Page should load completely and show normal interface
    2. "Alignment" tab should have
      1. Three accordians labeled "Standards", "Textbooks" and "Dictionary"
        1. Each accordian should have hierarchical list that should load correctly.
        2. *Should* display standard and textbook trees that are not marked as visible.
      2. "Selected Alignments" panel
        1. Four buttons, labeled "Remove Textbooks", "Remove Standards", "Remove Words", and "Remove All" in a neat row
        2. Rest of panel should be empty
    3. "Resources" tab should have
      1. Resource browser on left (see Resource Browser test script)
      2. Two tabs on the right, labelled "Alignments" and "Info"; these should be empty
  3. Alignment Tab operation
    1. Navigation
      1. Clicking on any non-leaf node in hierarchy should show or hide subnodes
        1. Dictionary does not have subtrees
      2. AJAX should only be called the first time a subtree is opened
      3. Switch accordians by clicking on the header for that accordian
        1. Exactly one accordian should be open at a time
        2. Arrow icon on accordian should be pointed up when accordian is open and down when not
        3. Accordians should maintain order (always Standards -> Textbooks -> Dictionary)
    2. Selection
      1. In general, exactly those nodes selected in the accordians should appear in the list in the Selected Alignments panel.
      2. Clicking in "[ ]" next to a node should mark that node as selected and it should appear in the Selected Alignments panel; "[ ]" should now be "[*]"
      3. If a non-leaf node is selected, then all subnodes should become selected, even if they haven't loaded yet
      4. General rule is that any node that is explicitly selected or deselected should "remember" that state when a parent node is selected or deselected; other nodes will always follow the parent node's selection state
        1. If a parent node is selected, these nodes will become selected
        2. If a parent node is deselected, these nodes will revert back to their remembered state
    3. Editing Selected Set
      1. Only those nodes which are selected in the left panel (accordians) should appear in the selected alignments list
      2. Clicking the "[X]" symbol the the left of an alignment should remove it from the list and also deselect the item in the accordians *as if the user had manually deselected the item in the accordian* (that is, the behavior for deselection should be the same no matter where the item was deselected from: either accordian or Selected Alignments panel)
      3. Clicking any of the "Remove ..." buttons should remove the desired items from the list *as if they were manually removed* and thus following the rules stated in (2) above.
  4. Resources Tab operation
    1. Viewing resources
      1. Selecting a resource from the resource browser should result in that resource loading in the tabs to the right
      2. The Alignments tab should contain
        1. The name of the resource at top
        2. A horizontal bar
        3. Two buttons: "Apply Alignments" and "Bulk Remove" on separate lines, with descriptions to the right
        4. A horizontal bar
        5. "Current Alignments"
        6. One list item for each type of alignment ("Standards", "Textbooks" and "Words")
        7. Each alignment section should contain a list of alignments that have been aligned with this resource and each alignment should consist of
          1. A checkbox (default unchecked)
          2. A button labelled "Remove"
          3. A description of the alignment
          4. The reason for the alignment given in a box "[reason: _..._]" where the reason is an apparent hyperlink
          5. Clicking on the alignment description should bring up a gray box under the alignment that gives the ancestry (parent nodes); clicking the description again will dismiss the box
        8. The alignments shown should be those that are marked as "DEV" in the database excluding those that are marked as DELETED
      3. The Info tab should contain
        1. The name of the resource at top followed by a horizontal bar
        2. A list of metadata fields for that resource
          1. The field name should be in bold
          2. The value should be to the right of the field in regular text
          3. If there are multiple values for a field, they should be displayed in a sublist
    2. Adding alignments
      1. Clicking the "Apply Alignments" button should add all of the alignments that have been selected in the "Selected Alignments" panel
      2. For each leaf node in the "Selected Alignments" panel, a new alignment entry should be added to the appropriate list (e.g., to "Standards" if the alignment is to an objective)
      3. For each non-leaf node in the "Selected Alignments" panel, a plethora of alignments will be added, for all of the subnodes of that non-leaf node
      4. Either all alignments succeed or all fail; report error message to user if they fail
      5. The new alignments should all be marked as DEV and NEW in the database; if any were previously deleted, but the deletions were not approved, the state of those alignments should go back to NEW
    3. Editing alignments
      1. Clicking on the hyperlink that contains the reason for the alignment should bring up a gray box under the alignment with a textarea pre-filled with the current reason; clicking "Submit" should update the alignment (both in the DB and in the tool) and clicking "Cancel" should result in no changes made to the reason
      2. If the alignment isn't already marked as NEW in the database, it should be marked as CHANGED if the user does indeed change the reason for the alignment
    4. Removing alignments
      1. Clicking the "Remove" button next to an alignment; if removal succeeds, alignment should disappear
      2. Clicking the checkboxes next to the alignments that are to be removed and then clicking "Bulk Remove"; this should function as if "Remove" was clicked on each alignment individually; the number of successful and failed removals should be reported to the user via an alert box; this operation does not require that all removals succeed or all fail

Relationship Tool

  1. General
    1. Appearance in any supported browser (Firefox, Safari, IE6 and IE7) should match the appearance in Firefox 3 on a Mac, to the extent possible
  2. Initial State
    1. Page should load completely and show normal interface
    2. There should be:
      1. Resource browser on the left
      2. Resource browser on the right
      3. Complex interfact in the middle with:
        1. "Existing Relationships" at top
        2. Text label that says "none" in italics (this will be the name of the currently selected resource)
        3. Empty blue box that will contain a list
        4. Blue array pointing to the right towards a one line text field (empty)
        5. One line textfield with arrow pointing towards the left towards it (empty)
        6. "Reason:" followed by a one line text field
        7. "Add" button (disabled)
  3. Browsing
    1. When a resource is selected in the *left* browser, the following should happen
      1. The resource name should appear in the box below "Existing Relationships"
      2. The URL for the resource should appear in the first textfield at the bottom of the central interface (blue arrow points to the right towards this textfield)
      3. Any relationships that the resource has that are marked as DEV, but not DELETED should appear in the large blue box in the middle; each relationship has:
        1. A button labeled "Remove"
        2. The name of the resource as a hyperlink, which should launch the correct URL in a separate window/tab
        3. "(reason: _..._)" to the right of the hyperlink; the reason itself should be a hyperlink
    2. When a resource is first selected, a "Loading..." indicator should appear in the big blue box before the relationships are displayed; this should not take an inordinate amount of time and certainly should not hang
    3. Resources that have already been visited before should not see a "Loading..." indicator and should not result in a new AJAX request
  4. Changing Relationships
    1. Adding
      1. To add a relationship, the following steps must be taken
        1. Resource must be selected in the left resource browser
        2. Another resource must be selected in the right resource browser
        3. The user may optionally add a reason for relating in the lowermost textfield
        4. Click the "Add" button to add the resource
      2. If a relationship already exists, the user should be notified upon clicking "Add"
      3. The "Add" button should be disabled unless resources are selected in both the left and the right resource browser
      4. New relationships should be marked as DEV and NEW in the database
    2. Editing
      1. To edit a relationship, a resource must be selected in the left browser and then the user may click on the hyperlinked reason field next to the name of the resource in the relationship listing
      2. This brings up a edit box which must contain the current reason, which the user may edit
      3. If the user clicks "Submit", the reason should change in the display and in the DB; also, the relationship should now be marked as DEV and CHANGED unless it is already marked as DEV and NEW
      4. If the user clicks "Cancel", no changes should take place for that relationship
    3. Removing
      1. To remove a relationship, the user must click the "Remove" button next to the relationship in the relationship listing (if a resource is selected on the left)
      2. The user should be notified if the relationship failed to be removed; otherwise, the relationship should simply disappear from the list

Approval Tool

  1. General
    1. Appearance in any supported browser (Firefox, Safari, IE6 and IE7) should match the appearance in Firefox 3 on a Mac, to the extent possible
  2. Initial State
    1. There should be a checkbox labeled "Show confirmation dialogs when approving or denying resources"
    2. There should be an interface with 5 tabs:
      1. "By Resource"
        1. should show three sections labelled "New", "Deleted" and "Changed"
      2. "By Standard"
        1. should have a partial tree of the standards hierarchy, or "No unapproved resources"
      3. "By Section"
        1. same as By Standard, but for textbooks
      4. "By Word"
        1. should have list of words or "No unpproved resources"
      5. "By Relation"
        1. should have three sections: "New", "Deleted" and "Changed" with each one containing a list of relationships with the following info:
          1. Checkbox for selecting/deselecting the relatioship for bulk operations
          2. "Approve Button"
          3. "Deny Button"
          4. Source resource name -> dest resource name (these should be hyperlinks to the resources, open in new tab/window)
        2. Each section ("New", "Deleted", "Changed") should also have four buttons: "Approve Selected", "Deny Selected", "Select All" and "Deny All"
  3. By Resource Tab Operation
  4. By Standard Tab Operation
  5. By Section Tab Operation
  6. By Word Tab Operation
  7. By Resource Tab Operation

Generated on Wed Nov 24 02:01:30 2010 for Common by  doxygen 1.5.6