testing-docs

testing-docs

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Testing Guide: Real Estate Agent Role

What is this? A feature-by-feature reference for testers. Go through each section below, verify the expected behaviour, and log any issues you find.

App URL: https://casahub.jh.frappe.cloud/qeja

Your role for this test: Real Estate Agent

1. Registration

Step What to do Expected result
1 Go to /qeja and click Create Account Sign-up form appears
2a Enter first name, last name, email, password and submit Account is created, you are logged in automatically
2b Or click Sign in with Google Google OAuth flow completes, account is created
3 After sign-up You land on /onboarding-check -- you cannot access any dashboard yet

Things to check:

  • Duplicate email is rejected with a clear message

  • Password requires 8+ characters

  • Empty required fields show validation errors

  • Welcome email arrives

2. Login

Step What to do Expected result
1 Go to /qeja/login, enter credentials Logged in successfully
2a If onboarding incomplete Redirected to /onboarding-check
2b If onboarding complete Redirected to /agent/dashboard
3 Wrong password Clear error message, not a generic server error
4 Forgot password link Password reset email is sent

3. Logout

Step What to do Expected result
1 Click profile/avatar in sidebar, click Logout Session ends, redirected to login page
2 Try to visit /agent/dashboard directly Redirected to login -- no access

4. Onboarding -- Profile Completion

Step What to do Expected result
1 You land on /onboarding/profile Form shows: phone number (with +254 default), gender, date of birth
2 Fill in all fields and click Continue Data saves, you move to /onboarding/role
3 Try to skip without filling required fields Validation blocks you

5. Onboarding -- Role Selection

Step What to do Expected result
1 You land on /onboarding/role 4 role cards displayed
2 Click Real Estate Agent Card highlights with a checkmark
3 Click Continue You are assigned the agent role and land on /agent/dashboard

Things to check:

  • Only one role selectable at a time
  • Cannot proceed without selecting
  • Onboarding does not repeat on next login

6. Agent Profile

This is your professional profile visible to developers/managers in the agent directory.

6a. Profile Setup & Editing

Section Fields to fill Expected behaviour
Personal info Bio, years of experience Saves; completeness % updates
Identification ID type (National ID, Passport, etc.), ID number Saves with validation
Company info Company name, registration, website, phone All optional; saves correctly
License info License number, issuing authority, expiry date Saves; expiry tracked for reminders
Specializations Property types, specializations (multi-select from registry) Saves; values come from system registry
Languages Languages spoken (multi-select) Saves correctly
Communication Preferred method (Phone, Email, WhatsApp, SMS) Single select; saves
Social media LinkedIn, Facebook, Instagram, Twitter/X URLs Saves as link pairs

Things to check:

  • Profile completeness percentage updates as you fill fields
  • Real-time validation and save feedback (success/error toast)

6b. Profile Publishing

Feature What to do Expected result
Publish Click Publish Profile appears in Agent Directory; requires minimum fields filled
Unpublish Click Unpublish Profile removed from directory
Status Check profile status display Shows Draft, Active, Inactive, or Suspended
Published date Publish profile Published date auto-set

6c. Document Uploads (KYC)

Feature What to do Expected result
Upload document Click upload, select type (ID Copy, License Certificate, Tax Certificate, Insurance, etc.) File uploads with correct document type
View documents Go to documents section All uploaded docs listed with type, name, date, expiry, verification status
Expiry tracking Upload a doc with expiry date System tracks expiry; reminder sent when approaching
Verification status View a document Shows: Pending, Verified, Rejected, or Expired

Things to check:

  • Can upload multiple document types

  • File upload shows progress

  • Cannot proceed to some features without KYC documents submitted

6d. KYC Status

Status What it means
Not Started No documents uploaded
Incomplete Some documents uploaded but not all required
Profile Complete All required fields and docs submitted
Verified Admin has verified your documents
Rejected Admin rejected -- reason should be visible

7. Agent Dashboard

Section What you should see Expected behaviour
Quick stats Active Projects, Total Leads, Conversion Rate %, Total Commissions Values match actual data
Performance Total projects, access requests submitted, approval rate, units sold, revenue generated Accurate counts
Profile completion Completeness % with missing field hints Percentage matches profile state
Visibility status Published/Not Published badge, Verified/Not Verified, License status Matches actual profile
Rating & reviews Average rating, total reviews Matches actual reviews (if any)

Things to check:

  • Dashboard loads without errors or stuck spinners

  • All stat values are accurate

  • No console errors


8. Project Discovery

Feature What to do Expected result
Browse projects Click Projects in sidebar Grid/list of available projects seeking agents
View project details Click a project card Project detail page: name, location, units, pricing, payment plans, commission structure
Filter projects Filter by location, price range, unit types, status Results update correctly
Commission info View commission section on a project Shows commission rate/type for agents

Things to check:

  • Only published projects are visible

  • Project details load fully (images, stats, developer info)

  • Unpublished or draft projects are not shown

9. Project Access Requests

Feature What to do Expected result
Request access Click Request Access on a project Modal/form appears for motivation message
Submit request Enter message and submit Request created with "Pending" status; toast confirms
View my requests Go to /agent/applications?tab=requests All your requests listed with project, date, status
Withdraw request Click Withdraw on a pending request Request withdrawn; status updates
Approved request After manager approves Status changes to Approved; you now have access to the project
Rejected request After manager rejects Status changes to Rejected; reason visible

Things to check:

  • Cannot request access to same project twice

  • Notification arrives when request is approved/rejected

  • After approval, project appears in your active projects

  • Withdrawal only works on pending requests

10. Lead Management

This is the core CRM feature for agents.

10a. Create Lead

Step What to do Expected result
1 Navigate to /agent/leads, click Create Lead Lead form appears
2 Fill required fields: lead name, phone, project Validation enforces required fields
3 Fill optional fields: email, source, budget range, preferred unit type, priority, notes All save correctly
4 Submit Lead created with auto-generated number (LEAD-.YYYY-.#####); stage defaults to "New"

Things to check:

  • Phone number auto-normalizes

  • Can only create leads for projects you have access to

  • Lead priority options: Hot, Warm, Cold

  • Lead source options: Direct, Website, Referral, Portal, Event, etc.

10b. Lead Pipeline

Feature What to do Expected result
View all leads Open leads page Table of all your leads with pagination (20/page)
Filter by stage Select a stage filter Only leads in that stage shown
Filter by priority Select Hot/Warm/Cold Filters correctly
Filter by project Select a project Only leads for that project shown
Search Type name, phone, or email Matching leads shown
Lead stats View summary section Total leads, leads by stage, by priority, conversion rate

10c. Lead Stage Transitions

Leads move through this pipeline:

Stage Description
New Just created, not yet contacted
Contacted Initial contact made
Viewing Scheduled Property viewing appointment set
Viewing Done Viewing completed
Negotiating Price/terms discussion in progress
Booking Client ready to book a unit
Converted Lead became a paying customer
Lost Lead did not convert
Feature What to do Expected result
Change stage Click a lead, change stage dropdown Stage updates; activity logged
Mark as lost Click Mark Lost, enter reason and notes Lead moves to Lost; reason saved
Set follow-up Set next follow-up date Date saved and visible in lead detail

10d. Lead Activities

Feature What to do Expected result
Log activity On a lead, click Log Activity Form: activity type, summary, outcome
Activity types Select from: Call, Meeting, Site Visit, Email, SMS, Follow-up, Note, Other Saves with timestamp
View timeline Open lead detail Full activity history in chronological order
Search activities Search/filter activities Results filter correctly

10e. Lead Conversion

Step What to do Expected result
1 Open a lead in Booking stage, click Convert Conversion form appears
2 Select target unit from project inventory Unit dropdown shows available units
3 Select payment plan template (if available) Plan applies
4 Confirm conversion Customer record created; payment schedule generated; lead marked "Converted"
5 After conversion Lead shows converted date, unit, and customer reference

Things to check:

  • Only leads in appropriate stages can be converted

  • Unit is reserved/booked after conversion

  • Manager is notified of the conversion

  • Cannot convert a lead that is already converted or lost

11. Contracts

11a. View Contracts

Feature What to do Expected result
View all contracts Go to /agent/applications?tab=contracts List of contracts from managers with status, project, dates
Contract statuses Check status badges Draft, Sent, Pending Review, Active, Completed, Terminated, Declined
View details Click a contract Shows: title, type, project, dates, commission terms, content, timeline

11b. Respond to Contracts

Feature What to do Expected result
Accept contract Click Accept on a sent contract Status changes; you proceed to signing
Decline contract Click Decline, enter reason Status changes to Declined; manager notified
Upload signed doc After accepting, upload signed document Document attached to contract
View timeline Check contract timeline All status changes and actions logged with dates

11c. Commission Terms

What to look for Expected display
Commission rate Percentage or fixed amount shown per contract
Commission type "Percentage of unit price" or "Fixed amount per unit"
Override notes Any custom commission notes from manager

12. Commissions

Feature What to do Expected result
View dashboard Go to /agent/commissions Summary cards: Total Earned, Pending, Paid, Average per transaction
View list Scroll to commissions table All commissions listed with pagination (20/page)
Filter by status Filter: Pending, Approved, Paid, Receipt Confirmed, Rejected List filters correctly
Sort Sort by date, amount, status, project Sorting works
Search Search by project, unit, or reference Results filter
View detail Click a commission Shows: project, unit, price, calculation, amount, payment date, method, status
Confirm receipt On a "Paid" commission, click Confirm Receipt Status changes to Receipt Confirmed

Things to check:

  • Commission amounts match expected calculations (rate x unit price)

  • Pending commissions are awaiting manager approval

  • Payment proof/receipt visible when provided

13. Route Access / Permissions

Route Should you have access?
/agent/dashboard Yes
/agent/leads Yes
/agent/commissions Yes
/agent/applications Yes
/projects Yes (browse published projects)
/projects/:id Yes
/profile Yes
/manager/* No -- should redirect to /unauthorized
/admin/* No -- should redirect to /unauthorized
/owner/* No -- should redirect to /unauthorized

14. Notifications

Event Expected notification
Access request approved In-app + email notification
Access request rejected In-app + email with rejection reason
Contract sent to you Email notification with contract details
Contract activated In-app notification
Contract terminated In-app + email with reason
Commission approved In-app notification
Commission paid In-app notification

Quick Checklist Summary

Use this to track your progress:

  • Mobile Responsiveness
  • Registration (email + Google SSO)
  • Login / Logout
  • Onboarding (profile + role selection as Agent)
  • Dashboard loads with correct data
  • Agent profile: fill all sections, completeness % updates
  • Agent profile: publish / unpublish
  • Document uploads: multiple types, expiry tracking
  • KYC status reflects document state
  • Browse available projects
  • Submit project access request
  • View my access requests + statuses
  • Withdraw a pending request
  • After approval: project appears in my active projects
  • Create a lead with all fields
  • View lead list with search/filter/pagination
  • Change lead stages through pipeline
  • Log activities on leads (calls, meetings, visits, etc.)
  • Mark a lead as lost with reason
  • Convert a lead to customer (unit selection + payment plan)
  • View contracts list
  • Accept/decline a contract
  • Upload signed contract document
  • View contract details and timeline
  • View commission dashboard and summary
  • Filter/sort/search commissions
  • View commission detail
  • Confirm commission receipt
  • Route permissions: cannot access manager/admin/owner routes
  • Notifications arrive for key events
Last updated 1 hour ago
Was this helpful?
Thanks!