Skip to content

Manual integration tests

thejonas edited this page Nov 6, 2014 · 31 revisions

Tests

(A start. More detail is needed)

Legend:

  • ☑ Has automated integration test
  • ☐ Needs automated integration test
  • ☢ Won't get automated integration test
  • (no icon) We need to add an icon

Registration

  • ☑ Fails because of bad email format
  • ☑ Fails because of weak password
  • ☑ Fails because of mismatched passwords
  • ☑ Succeeds with new email
  • ☑ Succeeds with previously registered email

Confirmation

  • ☑ Click on link in email
  • ☑ Paste in token in form
  • ☑ Invalid token
  • ☑ Previously confirmed token

Login

  • ☑ Non-existing account
  • ☑ Bad password
  • ☑ Unconfirmed account
  • ☑ Unconfirmed account with bad password
  • ☑ Request password reset

Document Set Import

To test successful import, check:

  • ☑ Document Set/Tree appears in list
  • ☑ Tree can be viewed
  • ☑ Search works
  • ☑ Documents can be viewed

Document Cloud import

  • Enter bad password leads to error.
  • Import public document set with important words and ignored words
  • Import private document set with split pages and non-english language

CSV Import

  • ☑ Import file
  • ☑ Import file with no text column fails
  • ☑ Import file with Windows-1252 Character set
  • ☑ Cancel upload and restart
  • ☑ Import file with less than 3 documents is not allowed
  • Import file with Contents column
  • Import file with Snippets column
  • Import file with Id column
  • Import file with https twitter url column
  • Import file with http twitter url column
  • Import file and set language, important words and ignored words

File Upload

  • ☑ Add more documents after initial batch
  • ☑ Import pdfs and set language, important words, and ignored words
  • ☑ Import txt, docx, html, pptx files
  • Cancel upload by clicking cancel button
  • Cancel upload by clicking on document sets

Example document set

  • Import example document set with multiple trees and tags
    • Document set is not listed when removed from example
    • Cloned document set is still viewable after original is deleted.

Shared document set

  • Import shared document set with multiple trees and tags
    • Document set is not listed when user is removed as viewer
    • Cloned document set is still viewable after original is deleted
  • Share document with user who is not yet registered. When user registers, they can clone doc set.

Export Document set with tags

  • Export csv all tags in one column
  • Export csv each tag in separate column
  • Export xlsx all tags in one column
  • Export xlsx each tag in separate column

Export Zip Archive

  • Export uploaded document set
  • Export document set with sub-folders
  • Export unsupported document sets

New Tree

  • Create a new tree
  • Start multiple concurrent tree creation jobs (in one document set)
  • Create new tree with different language, important words, and ignored words
  • Create new tree based on tag
  • Disallow creating new tree based on tag with fewer than 3 documents
  • Cancel new tree

Delete

  • Delete document sets
  • Delete document sets with multiple trees
  • Delete document set with failed jobs (probably should not have a test that depends on ability to create a failed job)

Cancel

  • Cancel import
  • Cancel import moves other jobs up in queue Probably race condition in test

View Tree

  • Click on (+) in node to expand
  • Click on (-) in node to collapse
  • View zooms in on selected node
  • Hover over node pops up window with number of documents and terms
  • Use arrow keys to navigate in tree
  • Select node and Edit folder name
  • Cancel Edit Folder name

Document List

  • List can be scrolled up and down
  • ☑ Clicking on document leads to document view
  • Keyboard shortcuts (j,k, and u)
  • When going from document view back to list, last viewed document is highlighted briefly

Tagging

  • Add Tags to nodes
    • Remove tags
    • Select tag
      • Change name and color in Edit tag dialog
      • Cancel Edit tag dialog
      • Delete tag from Edit tag dialog
    • Organize tags list tags with number of documents
      • Change tag names and color
      • Delete a tag
      • Add a tag
      • Export tag list
    • Select a tag with no documents
    • Select Untagged
  • Leave document set and reload, verifying that tags are permanent

Search

  • Search returns list of documents
    • Search result is cached
    • Convert search to tag
  • Search specific field (title)
  • Fuzzy search
  • Regex search

Access

  • Logged out user is redirected to login page for all requests
  • Logged in user gets 403 Error when trying to access other users data
  • Logged in user gets 403 Error when trying to access non-existent, but correctly formatted URL

Old List of tests

DocumentSet management

  1. Import public document set
  2. Import private document set
  3. Import a document set treating each page as a document
  4. Delete imported document set
  5. Queue multiple imports
  6. Delete NOT_STARTED imports
  7. Delete IN_PROGRESS imports
  8. Upload csv file
  9. Upload csv file with url and id columns
  10. Upload csv file with contents column
  11. Upload csv file with snippets columns
  12. Upload csv file with tags
  13. Export csv file with tags in one column
  14. Export csv file with tags in multiple columns
  15. Share a document set with an existing user
  16. Share a document set with non-existing user
  17. Register as a user with whom a document set has previously been shared.
  18. Stop sharing a document set with a user
  19. Stop sharing a document set with a user during cloning.
  20. Upload csv in IE9 and Safari
  21. Restart csv upload

DocumentSet View

  1. Open Nodes
  2. Select Nodes
  3. View public documents
  4. View private documents
  5. Add tags to nodes
  6. Remove tags from nodes
  7. Add tags to documents
  8. Remove tags from documents
  9. Select tags
  10. Rename tags
  11. Change tag color
  12. Delete tags
  13. Rename Nodes
  14. Select untagged
  15. Tag untagged
  16. Keyboard commands (j,k, arrow keys, ctrl-A)

Mixables

  1. Multiple concurrent users
    1. Importing document sets
    2. Deleting document sets
    3. Viewing document sets
  2. View different document sets in multiple windows
  3. View the same document set in different windows
    1. Add tags
    2. Remove tags
  4. View the same list of document sets in different windows
    1. Import document sets
    2. Delete document sets

Security

  1. View other documentsets and documents via direct http calls
  2. Register accounts with improper emails and weak password
  3. DoS attack
  4. SQL insertion in fields
  5. Direct database access
  6. Cross scripting
  7. Use http
  8. All urls lead to login page if not logged in (except /register)

Hosting

  1. Redirects to https://www.overviewproject.org
    1. overview-project.org
    2. overview-project.com
    3. overviewproject.com
    4. www variants

Main flow

  1. Login
  2. Try different queries: Giraffe, Gorilla, Cousin (~800 docs), Sister (~2,000 docs).
    1. There should be progress indication
    2. Document sets should not be viewable before processing is complete
  3. Select a document set to view
    1. Expand Nodes
    2. Zoom in and out
    3. Select a document, it should appear in the document view
  4. Add tags
    1. Select some nodes
    2. Add tags
    3. Select a subset of tagged documents and remove tags
    4. Reload document set and verify that documents are still tagged
  5. Delete the document set
  6. Logout

Authentication

  1. Try to access URLs without logging in.
    1. Result should be redirect to login page
  2. Login and try to access document sets and documents of other users

Stress test

Clone this wiki locally