Skip to content
This repository has been archived by the owner on Dec 13, 2017. It is now read-only.

Test plan

Chason Choate edited this page Feb 27, 2015 · 4 revisions

Test Plan

This test plan is a living document used to ensure the functionality of the commit graph plugin. You may walk through and check the boxes while testing locally.

Setup

  1. Start Stash with atlas-run --product stash.
  2. Create a new repo in Stash named large-repo.
  3. In your terminal clone a highly active open-source repo such as gitlabhq.
  4. cd inside the repo and run these commands:
git remote remove origin
git remote add origin <the ssh path to your large-repo>
git push --all
git push --tags
  1. First run through the test plan in the rep_1 repo, then move on to your large-repo.

Testing

  1. Commit table

    • The table should contain at a minimum Author, Commit, Message, and Commit Date.
    • Author column
      • The Author column should contain both the user's avatar and name.
      • The Author column should link to the user's profile. (2.12+)
    • Commit column
      • The commit hash should be a minimum of 7 characters.
      • The commit hash link should redirect the current window to the given commit diff.
    • Message column
      • Should contain the text of the commit.
      • JIRA ticket link parsing?, etc.
    • Commit Date column
      • The commit date should be in the form 02 Feb 2011 and should match the commit's date.
    • Ensure merge rows are slightly dimmed and comtain a M next to the commit hash.
  2. Commit graph

    • Hovering over the graph should highlight that commit's row with a light grey.
    • Majority of the graph colors should be darker, there shouldn't be any really light colors.
    • Each commit row in the table should have a cooresponding commit dot.
      • When the dot is hovered it should expand slightly and the cursor turns into a pointer.
      • The commit dot should be clickable and will open the proper commit diff in a new window.
    • Each label (branch/tag) will be surrounded in a black tooltip-like box pointing at the proper commit.
      • A commit with multiple labels will display them comma separated with no space around the comma.
      • When hovered the label text, the cursor should turn into a pointer.
      • The label should be clickable and open a new window to the files at the given commit.
        • Ensure the new window opens to the proper files for both branches and tags.
    • Ensure the graph DOES NOT have any heads that do not have a label. aka. Any commits without children that DO NOT have a branch/tag label IS a problem.
    • Ensure the graph shows a single commit and zero branches for the root of the repository. (scroll all the way to the bottom) (Known issue #6)
    • Ensure all branches in the graph have a logical starting place, i.e. another branch. Make sure a branch route isn't being displayed as originating from the edge of the graph view.
  3. Additional functionality

    • Graph horizontal spacing
      • Ensure the spacing between the left-edge of the browser and the left side of the commit table looks okay.
        • Ensure there isn't excess space.
        • Ensure labels, etc. aren't getting cut off.
    • Infinite scroll
      • Scrolling to the bottom of the page should show a small loading indicator that is similar to the one on the commits tab.
      • Once data is loaded you should see new rows in the commit table as well as the graph.
        • Ensure the graph loads the commit dots/routes/labels properly, and they function as well.
        • The graph should resize itself to accomodate the new width of the graph.
      • Once you hit the end of the commits you should see No more history.
    • Merging branches
      • Creating/merging a PR
        • Create a branch and ensure the network looks as expected.
        • Create the PR into master and ensure the network looks as expected.
        • Merge the PR without deleting the branch and ensure the network looks as expected.
        • Ensure there are no Automatic commits due to the PR being merged.
    • Anonymous users
      • Set a repo as public and ensure a non-logged in user can view the graph.
Clone this wiki locally