Skip to content

Documents Tests

Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-001Dashboard loads stats and recent documentsUser has uploaded documents1. Navigate to /business/apps/documents.Stats displayed (total documents, storage used, by category/status). Up to 5 recent documents shown.P0
DOC-002Dashboard empty stateUser has no documents1. Navigate to dashboard.Stats show zeros. Empty state with CTA to upload first document.P1
Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-010Upload valid fileCategories and statuses exist1. Navigate to /business/apps/documents/upload. 2. Select a file under 50MB with an allowed type. 3. Fill metadata (name, description, category, status). 4. Submit upload action.File uploaded to Supabase storage. Document record created. User redirected to /business/apps/documents/{id}.P0
DOC-011Upload without fileNone1. Submit upload without selecting a file.Returns 400 “Please select a file to upload”.P0
DOC-012Upload file exceeding 50MBNone1. Select a file larger than 50MB. 2. Submit upload.Returns 400 “File is too large. Maximum size is 50MB.” File is not uploaded.P0
DOC-013Upload disallowed file typeNone1. Select a file with a disallowed MIME type (e.g., .exe). 2. Submit upload.Returns 400 “File type not allowed.” File is not uploaded.P0
DOC-014Upload with form validation errorsNone1. Submit upload with a valid file but missing required metadata (e.g., empty name).Returns 400 with form validation errors. File is not uploaded.P1
DOC-015Upload with retention settingsNone1. Upload file with retention_days and retention_action set.Document created with retention policy stored.P1
DOC-016Supabase storage upload failureStorage service unavailable1. Simulate storage upload error. 2. Submit upload.Returns 500 “Upload failed: {error}”. No document record created.P2
DOC-017Unauthenticated uploadNot signed in1. Submit upload without auth.Returns 401.P0
DOC-018Categories and statuses loaded on pageUser has categories and statuses1. Navigate to upload page.Category and status dropdowns populated with user’s data.P1

All Documents (/business/apps/documents/all)

Section titled “All Documents (/business/apps/documents/all)”
Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-020List documents with paginationUser has more than 20 documents1. Navigate to /business/apps/documents/all.First 20 documents displayed. Total count available for pagination.P0
DOC-021Filter by searchUser has documents1. Enter search term.Documents matching the search are shown.P1
DOC-022Filter by categoryUser has categorized documents1. Set ?category={id}.Only documents in that category shown.P1
DOC-023Filter by statusUser has documents with different statuses1. Set ?status={id}.Only documents with that status shown.P1
DOC-024Filter archived documentsUser has archived documents1. Set ?archived=true.Only archived documents shown.P1
DOC-025Paginate resultsMore than 20 documents1. Set ?page=2.Second page of results displayed.P1
DOC-026Delete document from listDocument exists1. Submit delete action with document id.Document deleted. deleted: true returned.P0
DOC-027Archive document from listActive document exists1. Submit archive action with document id.Document archived. archived: true returned.P1
DOC-028Restore document from listArchived document exists1. Submit restore action with document id.Document restored. restored: true returned.P1
DOC-029Combined filtersDiverse document data1. Apply search, category, status, and archived filters simultaneously.Results reflect all active filters.P2

Document Detail (/business/apps/documents/[id])

Section titled “Document Detail (/business/apps/documents/[id])”
Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-030View document detailDocument exists for user1. Navigate to /business/apps/documents/{id}.Document metadata displayed. Tabs/sections for: versions, comments, audit trail, shares, links, metadata. Forms for commenting, sharing, and link creation available.P0
DOC-031Non-existent document returns 404None1. Navigate to /business/apps/documents/{nonexistent-id}.Returns 404 “Document not found”.P1
DOC-032Access another user’s documentDocument belongs to different user1. Navigate to document detail for another user’s doc.Returns 403.P0
Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-040Add commentDocument exists1. Fill comment form with content. 2. Submit add-comment action.Comment added. Success message “Comment added!” displayed. Comment appears in list.P1
DOC-041Add comment with validation errorNone1. Submit add-comment with empty content.Returns 400 with form validation errors.P1
DOC-042Delete commentComment exists1. Submit delete-comment action with comment id.Comment deleted. deleted: true returned.P1
Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-050Share documentDocument exists1. Fill share form (email, permission level). 2. Submit share action.Document shared. Success message “Document shared!” displayed. Share appears in shares list.P0
DOC-051Share with validation errorsNone1. Submit share with invalid email.Returns 400 with form validation errors.P1
DOC-052Revoke shareShare exists1. Submit revoke-share action with share id.Share revoked. revoked: true returned.P1
DOC-053Create shareable linkDocument exists1. Fill link form (expiration, password options). 2. Submit create-link action.Link created. Success message “Link created!” displayed. Link appears in links list.P1
DOC-054Create link with validation errorsNone1. Submit create-link with invalid data.Returns 400 with form validation errors.P1
DOC-055Delete shareable linkLink exists1. Submit delete-link action with link id.Link deleted. deleted: true returned.P1
Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-060Upload new versionDocument exists1. Select a new file. 2. Submit upload-version action.New version uploaded to storage. Version record created. uploaded: true returned. Version appears in versions list.P0
DOC-061Upload version without fileNone1. Submit upload-version without selecting a file.Returns 400 “Please select a file”.P1
DOC-062Upload version storage failureStorage unavailable1. Simulate storage upload error.Returns 500 with upload error message.P2
DOC-063Version history displayedDocument has multiple versions1. Navigate to document detail.All versions listed with upload date, file size, and storage path.P1
Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-070Archive documentActive document1. Submit archive action.Document archived. archived: true returned.P1
DOC-071Restore documentArchived document1. Submit restore action.Document restored. restored: true returned.P1
DOC-072Delete documentDocument exists1. Submit delete action.Document deleted. User redirected to /business/apps/documents.P0

Edit Document (/business/apps/documents/[id]/edit)

Section titled “Edit Document (/business/apps/documents/[id]/edit)”
Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-080Load edit formDocument exists1. Navigate to /business/apps/documents/{id}/edit.Form pre-populated with name, description, category_id, status_id, retention_days, retention_action. Categories and statuses loaded in dropdowns.P0
DOC-081Update document metadataDocument exists1. Modify metadata fields. 2. Submit update action.Document updated. User redirected to /business/apps/documents/{id}.P0
DOC-082Update with validation errorsNone1. Submit update with invalid data.Returns 400 with form validation errors.P1
DOC-083Access control on editDocument belongs to another user1. Navigate to edit page for another user’s document.Returns 403.P0

Categories (/business/apps/documents/categories)

Section titled “Categories (/business/apps/documents/categories)”
Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-090List categoriesUser has categories1. Navigate to /business/apps/documents/categories.All categories listed. Create form available.P0
DOC-091Create categoryNone1. Fill category form (name). 2. Submit create action.Category created. Success message “Category created!” displayed.P0
DOC-092Create with validation errorsNone1. Submit create with empty name.Returns 400 with validation errors.P1
DOC-093Update categoryCategory exists1. Submit update action with id, name, description, and optional parent_id.Category updated. updated: true returned.P1
DOC-094Delete categoryCategory exists with no documents1. Submit delete action with category id.Category deleted. deleted: true returned.P1
DOC-095Delete category with documentsCategory has associated documents1. Submit delete action.Returns 400 “Cannot delete”. Category preserved.P1

Statuses (/business/apps/documents/statuses)

Section titled “Statuses (/business/apps/documents/statuses)”
Test IDDescriptionPreconditionsStepsExpected ResultPriority
DOC-100List statusesUser has statuses1. Navigate to /business/apps/documents/statuses.All statuses listed with name, color, and default flag. Create form available.P0
DOC-101Create statusNone1. Fill status form (name, color_code). 2. Submit create action.Status created. Success message “Status created!” displayed.P0
DOC-102Create status with validation errorsNone1. Submit create with empty name.Returns 400 with validation errors.P1
DOC-103Update statusStatus exists1. Submit update with id, name, color_code, description, and is_default.Status updated. updated: true returned.P1
DOC-104Set default statusStatus exists1. Submit update with is_default=true.Status marked as default. Previous default is unset (if applicable).P2
DOC-105Delete statusStatus exists with no documents1. Submit delete action with status id.Status deleted. deleted: true returned.P1
DOC-106Delete status with documentsStatus has associated documents1. Submit delete action.Returns 400 “Cannot delete”. Status preserved.P1