Granger Academy
QA Testing Guide
Comprehensive testing documentation for Quality Assurance team
What is Granger Academy?
Granger Academy is a comprehensive Learning Management System (LMS) designed for online education. The platform supports three user roles: Students, Instructors, and Administrators, each with distinct capabilities and interfaces.
Core Features
- Course creation and management (with instructor name, pricing, live class info)
- Student enrollment and progress tracking
- Assignments and quizzes with grading
- Certificates of completion (admin-issued)
- Gamification (XP points, badges, leaderboard)
- Student notes and progress monitoring
- Analytics and reporting
- Standalone Admin Portal (separate login, full course/student/payment/website management)
- Dynamic course categories (create, edit, delete custom categories)
- Payment Confirmation tracking
- Bank account & Stripe payment info management
- Homepage program cards editor
- Live class scheduling with Zoom integration
- Course materials and downloadable resources
- Role switcher (admin/instructor can view as student)
Student
- • Browse course catalog
- • Enroll in courses
- • Complete lessons & quizzes
- • Submit assignments
- • View certificates
- • Track XP and badges
- • View leaderboard
Instructor
- • Create & manage courses
- • Add modules & lessons
- • Create assignments & quizzes
- • Grade submissions
- • View enrolled students
- • Add student notes
- • AI-powered feedback
Admin
- • All instructor capabilities
- • Manage all courses (incl. instructor name)
- • User management & role changes
- • Platform analytics
- • Edit homepage content
- • System settings
- • Access all data
- • Role switcher (view as student)
Standalone Admin Portal (grangeracademy.com/AdminPortal)
- • Separate login with fixed admin credentials
- • Course management (create, edit, delete, publish)
- • Set instructor name per course
- • Course Catalog with dynamic categories
- • Create/edit/delete custom course categories
- • Student overview and enrollment stats
- • Issue certificates to students manually
- • Payment confirmation tracking
- • Bank account & Stripe payment info editor
- • Homepage hero, about, and program cards editor
- • Upload images for homepage sections
Standalone Admin Portal – Login & Navigation
Admin Portal Login – Valid Credentials
- Navigate to /AdminPortal
- Enter the correct admin email and password
- Click 'Login to Admin Portal'
Login succeeds, admin dashboard Overview section is displayed with stats cards (students, published courses, enrollments, completed).
Admin Portal Login – Invalid Credentials
- Navigate to /AdminPortal
- Enter wrong email or password
- Click 'Login to Admin Portal'
Error message 'Invalid email or password.' shown. No access granted.
Admin Portal Logout
- Log in to Admin Portal
- Click 'Logout' at bottom of sidebar
- Attempt to navigate back to /AdminPortal
Session cleared, login screen shown again. Cannot access portal without re-logging in.
Admin Portal Sidebar Navigation
- Log in to Admin Portal
- Click each sidebar item: Overview, Course Catalog, Course Management, Students, Payment Confirmations, Website Editor
Each section loads correctly. Active nav item highlighted in amber. Page heading updates.
View Website link
- In Admin Portal sidebar, click 'View Website'
Navigates to the public homepage in the same tab.
Admin Portal – Course Management
Create New Course
- Go to Admin Portal → Course Management
- Click 'New Course'
- Fill in: Title, Short Description, Full Description
- Set Category and Difficulty
- Enter Instructor Name (e.g., 'Jared Malonza')
- Enter Age Range and Duration
- Upload or paste a thumbnail image URL
- Set Pricing (toggle Free or enter USD/NGN prices)
- Toggle Published on
- Click 'Create Course'
Course created and appears in the grid. Instructor name saved. Badge shows 'Live'.
Edit Existing Course – Update Instructor Name
- Go to Course Management
- Click the edit (pencil) icon on any course
- Change the Instructor Name field
- Click 'Update Course'
Course saved with new instructor name. Navigate to the public course preview page and confirm the instructor name is updated.
Publish / Unpublish Course
- Find a course card in Course Management
- Click the eye icon (publish/unpublish toggle)
- Check the badge on the card
Badge switches between 'Live' (green) and 'Draft' (grey). Only Live courses appear in student catalog.
Delete Course
- Click the trash icon on a course card
- Confirm in the alert dialog
Course permanently deleted. No longer visible in Course Management or student catalog.
Course Image Upload
- In create/edit course form
- Click 'Upload Image'
- Select an image file from your device
Image uploaded, preview updates, URL populated automatically.
Course Resources Link
- Find a course in Course Management
- Click the 'Resources' button
Navigates to the Course Resources page for that course (students tab open).
Admin Portal – Course Catalog & Categories
View Course Catalog Dashboard
- Go to Admin Portal → Course Catalog
- View the category cards
All built-in and custom categories shown as cards with emoji icon, name, description, and course/student counts. Built-in categories shown alongside custom ones.
Create Custom Category
- In Course Catalog section, click 'Add Category'
- Enter an emoji icon, category name, and description
- Click 'Add Category'
New category card appears in the grid. Category is now available for selection when creating courses.
Edit Category – Icon and Description
- Hover over any category card (built-in or custom)
- Click the pencil (edit) icon
- Update the icon emoji and/or description
- Click 'Save Changes'
Category card updates with new icon/description. For built-in categories, the Name field is disabled (cannot be changed).
Delete Custom Category
- Hover over a custom (non-built-in) category card
- Click the trash icon
- Confirm deletion
Category removed from the grid. Courses already using that category are NOT deleted — they retain their category value.
Category – View Courses
- Click on any category card
- View the list of courses in that category
Course list filtered by the selected category. Each course shows enrollment count, progress bars, and status.
Category – Issue Certificate to Student
- Click a category → click a course → click a student
- Click 'Issue Certificate'
- Upload instructor signature if prompted
- Confirm
Certificate generated for the student. Appears in their Certificates page.
Admin Portal – Payment Confirmations
View Payment Confirmations List
- Go to Admin Portal → Payment Confirmations
List of all payment confirmation submissions shown with student name, email, course, amount, currency, and date.
Approve a Payment
- Find a pending payment in the list
- Click 'Approve'
Payment status changes to 'Approved'. Student enrollment or access should be reflected.
Reject a Payment
- Find a pending payment
- Click 'Reject'
- Enter rejection reason if prompted
Payment status changes to 'Rejected'.
Search / Filter Payments
- Use search bar or status filter in Payment Confirmations
- Filter by Pending, Approved, or Rejected
List filters correctly based on selected status or search query.
Admin Portal – Website Editor
Edit Hero Section
- Go to Admin Portal → Website Editor → Hero/Header tab
- Update Main Heading, Subheading, Primary and Secondary button text
- Click 'Save Hero Section'
Changes saved. Navigate to the public homepage and verify updated text appears in the hero section.
Upload Hero Background Image
- In Website Editor → Hero/Header tab
- Click 'Upload New Header Image'
- Select an image file
Image uploads and preview updates. After saving, homepage hero shows the new image.
Add Program Card
- Go to Website Editor → Programs Section tab
- Click 'Add Program Card'
- Fill in Title, Description, Button Text, Button Color, Link Page, Order
- Upload or paste an image URL
- Click 'Add Program'
New program card appears in the list and on the homepage 'Discover Your Learning Path' section.
Edit Program Card
- In Programs Section, click the edit (pencil) icon on a card
- Update any field
- Click 'Update Program'
Card updates. Homepage reflects changes.
Delete Program Card
- Click the trash icon on a program card
- Confirm deletion
Program card removed from list and homepage.
Edit About Page Content
- Go to Website Editor → About Page tab
- Edit Mission and Vision text
- Click 'Save About Page'
Content saved successfully. Confirmation toast shown.
Authentication & User Management
User Registration
- Navigate to the homepage
- Click 'Start Learning' or 'Sign In'
- Complete registration form
- Submit the form
New user account created, redirected to student dashboard with student-level access only
Role Change (Admin Only)
- Log in as admin
- Go to User Management
- Find the user you want to promote
- Click role dropdown
- Select 'instructor' or 'admin'
- Changes save automatically
User's role updates immediately. Next time they log in, they'll see the appropriate dashboard and menu items for their new role
User Login
- Click 'Sign In'
- Enter valid credentials
- Submit login form
User logged in, redirected to appropriate dashboard based on role
Role-Based Access
- Log in as student
- Try to access instructor/admin pages (e.g., /CourseManager, /UserManagement)
- Repeat for instructor and admin roles
Users can only access pages appropriate for their role
Course Management (Instructor/Admin)
Create New Course
- Log in as instructor or admin
- Navigate to Course Manager
- Click 'Create Course'
- Fill in course details (title, description, category, difficulty)
- Add thumbnail image
- Set pricing
- Save course
Course created successfully, appears in Course Manager list
Add Modules and Lessons
- Open Course Editor for existing course
- Go to 'Content' tab
- Click 'Add Module'
- Enter module title and description
- Click 'Add Lesson' within module
- Enter lesson details, content, video URL
- Save changes
Module and lessons created, appear in course structure
Publish/Unpublish Course
- Go to Course Manager
- Find course card
- Click three-dot menu
- Select 'Publish' or 'Unpublish'
Course status changes, published courses visible in catalog
Create Assignment
- Open Course Editor
- Go to 'Content' tab
- Add assignment to a module
- Set title, instructions, due date, max points
- Save assignment
Assignment created, students can submit to it after enrolling
Student Course Enrollment & Learning
Browse Course Catalog
- Navigate to Catalog page
- Use filters (category, difficulty, price)
- Search for specific courses
- View course cards
All published courses visible, filters and search work correctly
Enroll in Course
- Go to Catalog
- Click on a course
- Click 'Enroll Now' on preview page
Enrollment created, course appears in 'My Courses', can access course content
Complete Lesson
- Open enrolled course
- Click on a lesson
- Read/watch lesson content
- Click 'Mark Complete' at bottom
Lesson marked complete, progress bar updates, XP awarded
Submit Assignment
- Navigate to assignment in course
- Enter text response or upload file
- Click 'Submit'
Submission created, visible in instructor's Submissions page
Course Completion & Certificate
- Complete all lessons in a course
- Mark final lesson complete
Course status changes to 'completed', certificate generated, XP awarded, certificate visible in Certificates page
Grading & Submissions (Instructor)
View Submissions
- Log in as instructor
- Go to Submissions page
- View pending and graded submissions
All submissions for instructor's courses visible, filterable by status
Grade Assignment Manually
- Open a submission
- Enter grade (0-100)
- Add feedback text
- Click 'Save Grade'
Submission marked as graded, student can see grade and feedback
AI-Generated Feedback
- Open a submission
- Click 'Generate AI Feedback'
- Review AI suggestions
- Optionally edit and save
AI provides feedback and suggested grade based on submission content
Student Notes & Monitoring (Instructor)
Add Student Note
- Go to Student Notes page
- Click 'Add Note'
- Select student and course
- Choose note type (general, intervention, participation, etc.)
- Enter note content
- Optionally set follow-up date
- Save note
Note created, visible in notes list, filterable by type and student
View Student Progress
- Go to Students page
- View list of enrolled students
- Check progress percentages and course counts
All students in instructor's courses visible with accurate progress data
Gamification Features
XP Accumulation
- Complete lessons, quizzes, assignments
- Check XP in top navigation
- View XP on Profile page
XP increases with each completed activity, total XP displayed correctly
Leaderboard
- Navigate to Leaderboard page
- View ranking of all users by XP
- Find your position
Users ranked by total XP, top 3 highlighted, current user's rank shown
Certificates Page
- Complete a course
- Go to Certificates page
- View earned certificates
All completed course certificates visible, can download/share
Admin Features
User Management
- Log in as admin
- Go to User Management
- View all users
- Change a user's role
- Search and filter users
All users visible, roles can be changed, search/filter work
Edit Homepage Content
- Go to 'Edit Homepage' in admin sidebar
- Select a section (Hero, Testimonials, Academies, Blog)
- Click 'Add' or edit existing content
- Upload image or enter image URL
- Enter text content
- Set status (Active/Coming Soon/Hidden)
- Save changes
- Preview homepage
Content saved, immediately visible on homepage (if status is Active)
Platform Analytics
- Go to Analytics page
- View enrollment trends
- Check course category distribution
- Review top performing courses
Charts and statistics display accurate data
Responsive Design & UI
Mobile Navigation
- Access site on mobile device or resize browser to <768px
- Test hamburger menu
- Navigate through pages
- Test all interactive elements
All features accessible on mobile, navigation works smoothly
Image Display
- View pages with images (homepage, catalog, courses)
- Check image loading and aspect ratios
- Test on different screen sizes
Images load properly, maintain aspect ratios, no broken images
Form Validation
- Try submitting forms with missing required fields
- Enter invalid data (wrong email format, etc.)
- Check error messages
Forms show clear validation errors, prevent invalid submissions
Automatic Role Assignment
New users are automatically assigned 'student' role. Admins must manually change roles in User Management.
Progress Tracking
Course progress updates in real-time as lessons are completed. Progress bar shows percentage completion.
XP Rewards
Completing lessons, quizzes, and courses awards XP. Total XP is cumulative and displayed in navigation.
Public Pages Without Login
Homepage, Catalog, and Course Preview pages are accessible without login. Navigation shows 'Sign In' button.
Sidebar Only When Logged In
Side navigation panel only appears for logged-in users. Public pages show top navigation only.
Role-Based Navigation
Students, instructors, and admins see different menu items based on their permissions.
Draft Courses Not Visible
Unpublished (draft) courses don't appear in student catalog, only in instructor/admin course manager.
Certificate Auto-Generation
When a student completes 100% of course lessons, a certificate is automatically generated with course details.
Enrollment Count Updates
Course enrollment count increments when students enroll and is visible on course cards.
Completion Status
Completed lessons show green checkmarks, in-progress courses show progress bars.
Instructor Name on Course Preview
The instructor name set by an admin in Course Management appears on the public course preview page under 'Course Instructor'.
Admin Portal Session Persists
After logging in to the Admin Portal, the session persists for the browser tab session. Closing and reopening the tab will require re-login.
Custom Categories Appear in Course Forms
Categories created via the Admin Portal Course Catalog section are available for selection when creating or editing a course.
Homepage Content Updates Live
After saving hero, about, or program card changes in the Website Editor, the public homepage reflects the changes immediately (no cache clearing needed).
Payment Confirmations Are Submitted by Students
When a student submits a bank transfer confirmation on a paid course page, it appears in the Admin Portal Payment Confirmations section for admin review.
Role Switcher for Admin/Instructor
Admins and instructors can use the Role Switcher in the top nav to preview the platform as a student without losing their admin/instructor access.
New Users Getting Instructor/Admin Access
ALL new users start as students. This is by design, NOT a bug. If someone registers and expects immediate instructor/admin access, they need to be promoted by an existing admin. Report only if a student CAN access instructor/admin pages without being promoted.
Students Accessing Unauthorized Pages
Students should NOT be able to access instructor or admin pages (Course Manager, User Management, Analytics, etc). Report if students can see these pages or menu items.
Data Loss After Refresh
Saved data (courses, enrollments, progress) should NOT disappear after page refresh or re-login.
Broken Images or Videos
No images should show broken image icons. Video embeds should display properly (though videos may not play if URLs are invalid).
Duplicate Enrollments
Students should NOT be able to enroll in the same course multiple times. System should prevent duplicates.
Negative XP or Progress
XP and progress percentages should never be negative or exceed 100%.
UI Overlapping or Breaking
Text should not overlap, buttons should not be cut off, layouts should not break on any screen size.
Infinite Loading States
Pages should not get stuck in loading states. If data fails to load, show error message.
Errors Without Messages
When something fails, users should see a clear error message, not a blank screen or console errors.
Unauthorized Data Editing
Users should NOT be able to edit or delete other users' data (courses, submissions, notes).
Missing Required Validations
Required form fields should NOT allow submission when empty. All forms should validate input.
ALL new users are assigned 'student' role by default during registration. There is no role selection during sign-up. To become an instructor or admin, a user must be promoted by an existing admin through User Management.
The first user of the system must manually promote themselves to admin after registration by going to User Management and changing their own role.
The Standalone Admin Portal uses a fixed hardcoded login (not linked to base44 user accounts). Changes made there affect the same database as the main app.
Built-in course category names cannot be renamed via the Admin Portal (by design). Only their icon and description can be updated.
Deleting a course category does NOT delete courses assigned to that category. Courses retain their category value even after the category is removed.
File uploads are limited by browser capabilities. Very large files (>50MB) may fail or be slow.
Video content uses embed URLs (YouTube, Vimeo, etc.) - actual video files cannot be uploaded directly.
AI-generated feedback requires lesson content to be text-based. It may not work well for very short submissions.
Email notifications are not implemented in this version. Users won't receive emails for enrollments, grades, etc.
Real-time collaboration features (live chat, video calls) are not included.
Stripe payment links require manual configuration per course. Prices set in the form must match Stripe product pricing.
Bulk operations (deleting multiple courses at once, bulk enrollment) are not supported.
Course prerequisites/dependencies are not enforced. Students can enroll in any published course.
Quiz timer functionality exists but doesn't prevent submission after time expires (enforcement is client-side only).
The leaderboard shows all users regardless of privacy preferences. Private leaderboards are not available.
Role Switcher (admin/instructor) allows viewing the UI as a student but does not restrict backend data access.
Homepage program cards: if no custom cards are added, the homepage displays default hardcoded programs.
Test Accounts
You should create test accounts for each role:
Student Account
Email: student@test.com | Password: [your choice]
Keep as student - no role change needed
Instructor Account
Email: instructor@test.com | Password: [your choice]
After signup: Admin must change role to "instructor" in User Management
Admin Account (First User)
Email: admin@test.com | Password: [your choice]
After signup: 1) Go to User Management, 2) Find your account, 3) Change role from "student" to "admin"
Important: Role Assignment Process
- All new accounts start as "student" role automatically
- First user should promote themselves to admin via User Management
- Admin can then promote other users to instructor or admin roles
- Users must log out and back in to see new role permissions
Browser Compatibility
Test on the following browsers:
- Chrome (latest version) - Primary
- Firefox (latest version)
- Safari (latest version)
- Edge (latest version)
Device Testing
- Desktop (1920x1080, 1366x768)
- Tablet (768px - 1024px width)
- Mobile (320px - 480px width)
When Reporting Bugs, Include:
- User Role: Which role was active when the bug occurred
- Page/Section: Where the bug was found
- Steps to Reproduce: Detailed steps to recreate the issue
- Expected Behavior: What should happen
- Actual Behavior: What actually happened
- Browser & Device: Testing environment details
- Screenshots/Videos: Visual proof when possible
- Severity: Critical, High, Medium, or Low
Severity Levels
- Critical: System crash, data loss, security issues
- High: Core features broken, blocking user tasks
- Medium: Feature partially working, workaround available
- Low: Minor issues, cosmetic problems, typos
Functionality
- ☐ All buttons work
- ☐ Forms submit correctly
- ☐ Navigation works
- ☐ Search functions work
- ☐ File uploads work
- ☐ Data saves properly
- ☐ Delete functions work
UI/UX
- ☐ Responsive on all devices
- ☐ No visual glitches
- ☐ Loading states visible
- ☐ Error messages clear
- ☐ Text readable
- ☐ Images load properly
- ☐ Colors consistent
Security
- ☐ Authentication required
- ☐ Role permissions enforced
- ☐ Cannot access others' data
- ☐ Logout works
- ☐ Session handling correct
Performance
- ☐ Pages load quickly
- ☐ No significant delays
- ☐ Smooth animations
- ☐ No freezing
- ☐ Large files handled
Happy Testing! Report any issues or questions to the development team.
For urgent issues, contact: dev@grangeracademy.com
