testing-docs

testing-docs

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

Testing Guide: Developer / Property Manager 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.

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

Your role for this test: Property Manager / Developer (they share the same portal)

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 /manager/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 /manager/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: Property Owner, Property Manager, Real Estate Agent, Client/Tenant
2 Click Property Manager (or Property Owner) Card highlights with a checkmark
3 Click Continue You are assigned the role and land on /manager/dashboard

Things to check:

  • Only one role can be selected at a time
  • You cannot proceed without selecting a role
  • After this, the onboarding flow should not repeat on next login

6. Dashboard

Section What you should see Expected behaviour
KPI cards Managed Projects, Pending Requests, Total Units (+ available), Active Agents Values match actual data; cards are clickable and navigate to the right page
Financial metrics Total Collected, Pending Payments, Overdue, Collection Rate Currency is KES; period filter (Month/Quarter/Year) updates the numbers
Recent activity Latest access requests Shows agent name, project, date, status
Project breakdown Projects grouped by status Counts are accurate

Things to check:

  • Dashboard loads without errors or stuck spinners
  • Period filter actually changes the data shown
  • All KPI card clicks navigate correctly

7. Developer Profile

This is your company profile visible in the developer directory.

Feature What to do Expected result
View profile Navigate to profile page Shows your company info, completeness %, KYC status
Edit Tier 1 fields Company name, logo, year established, specializations, description, city, county, phone, email Saves successfully; completeness % updates
Edit Tier 2 fields Registration number, company type, NCA number, website, cover image, market segments, property types, geographic focus Saves successfully
Edit Tier 3 fields Social media links, date of incorporation, KRA PIN, VAT number, NEMA ref, awards Saves successfully
Payment details Bank name, account name, account number, M-Pesa paybill, payment instructions Saves successfully
Publish profile Click Publish Profile appears in developer directory; requires Tier 1+2 fields filled
Unpublish profile Click Unpublish Profile removed from directory

Things to check:

  • Year established validates between 1900 and current year
  • Completeness percentage reflects actual filled fields
  • Cannot publish without minimum required fields

8. Projects -- List & Create

8a. View Projects

Step What to do Expected result
1 Click Projects in sidebar Project list page loads with your projects as cards
2 Search by project name Results filter in real-time
3 Filter by status or category List updates correctly
4 Click a project card Opens project detail page

Things to check:

  • Pagination works if you have 20+ projects

  • Empty state shows if no projects exist

8b. Create Project

Step What to do Expected result
1 Click Create Project Setup wizard opens
2 Step 1 -- Basics Fill project name, company, template, category, dev type, description
3 Step 2 -- Location Address, county, coordinates
4 Step 3 -- Media Cover image, gallery images
5 Step 4 -- Structure Phases and buildings config
6 Step 5 -- Units Bulk unit creation or skip
7 Step 6 -- Team Add team members (optional)
8 Step 7 -- Review Review all info, click Create Project
9 After creation Redirected to project detail; toast confirms success

Things to check:

  • Wizard shows progress indicator

  • Can navigate back to previous steps

  • Required fields are validated before moving forward

  • Subscription limits are enforced (Free plan = 1 project max)

  • Image uploads show progress and preview

9. Project Management (Manage View)

After opening a project, click Manage to access the tabbed management interface.

9a. Tabs Overview

Tab What it shows
Units All units in the project with search/filter
Buildings Building cards with unit counts
Phases Phase list with dates and status
Team Team members and pending invitations
Templates Unit type templates
Payment Plans Payment plan templates
Settings Edit project details

Things to check:

  • All tabs load their content

  • Active tab is visually highlighted

  • No console errors when switching tabs

9b. Units Management

Feature What to do Expected result
View units Open Units tab Table with unit number, type, status, price, building
Search/filter Search by unit number; filter by status, type, building Results update correctly
Add single unit Click Add Unit, fill fields (number, type, price, building) Unit created with status "Available"
Bulk create Click Bulk Create, pick building, count, naming pattern Units created with sequential names (e.g. Unit-001, Unit-002)
Edit unit Click a unit, click Edit, change fields, save Changes persist
Delete units Select units, click Delete Units removed

Things to check:

  • Subscription unit limit enforced

  • Bulk create shows progress for large batches

  • Status options: Available, Reserved, Booked, Sold

9c. Buildings Management

Feature What to do Expected result
View buildings Open Buildings tab Cards showing building name, floors, unit count
Add building Click Add Building, enter name Building created and appears in list
Edit building Click building, modify fields Changes save

9d. Phases Management

Feature What to do Expected result
View phases Open Phases tab List showing phase name, dates, unit count
Add phase Click Add Phase, enter name and optional dates Phase created
Edit phase Click phase, modify Changes save; end date must be after start date

9e. Unit Type Templates

Feature What to do Expected result
Create template Define a reusable unit type (e.g. "2BR Apartment" with specs) Template saved
Apply template Select units, bulk apply template Unit specs updated from template
Edit/delete template Modify or remove a template Changes take effect

9f. Payment Plans

Feature What to do Expected result
Create plan Define payment milestones with amounts and due dates Plan template saved
View plans Open Payment Plans tab All plan templates listed

10. Project Settings

Feature What to do Expected result
Edit mode Toggle Edit Mode on Fields become editable
Update basics Change name, description, status Saves with toast confirmation
Commission settings Set commission mode (percentage or flat), amount Settings save
Team access settings Toggle "Require contract for agent access" Setting saves
Publish/Unpublish Publish or unpublish project Project visibility changes for agents/public

11. Team Management

Feature What to do Expected result
View team Open Team tab Shows members with name, email, role, join date
Invite member Click Invite Member, enter email and role Invitation email sent; shows in Pending Invitations
Remove member Click Remove on a member, confirm Member removed; loses project access immediately

Things to check:

  • Cannot remove yourself

  • Confirmation dialog appears before removal

  • Subscription team member limits enforced

12. Applications & Contracts

12a. Access Requests

Feature What to do Expected result
View requests Click Applications in sidebar, Requests tab List of agent access requests with status
Approve Click Approve on a pending request Status changes to Approved; agent gets project access + notification
Reject Click Reject, enter reason Status changes to Rejected; agent notified with reason
Filter Filter by status or project List updates correctly

Things to check:

  • Pending count matches dashboard KPI

  • Agent actually gains access after approval (test from agent side)

12b. Contracts

Feature What to do Expected result
View contracts Click Contracts tab List with agent name, project, status, dates
Create contract Click Create Contract, fill agent, project, title, type, dates, terms Contract created in Draft status
Send to agent Click Send on a draft contract Status changes to Sent; agent gets email notification
Activate After agent signs, click Activate/Confirm Status changes to Active; agent gets full project access
Terminate Click Terminate, enter reason Contract ended; agent access revoked
Extend Click Extend, set new end date Contract period updated

Things to check:

  • Contract workflow: Draft -> Sent -> Signed -> Active

  • Can create from template or custom content

  • Contract timeline shows all status changes

  • PDF preview generation works

13. Agent Directory

Feature What to do Expected result
Browse agents Click Agents in sidebar Grid of agent cards with photo, name, company, KYC badge
Search Type agent name in search Results filter in real-time
Filter by KYC Select "Verified Only" filter Only verified agents shown
View profile Click an agent card Full profile: bio, contact info, KYC status, active projects

14. Payments & Financials

Feature What to do Expected result
Add payment On a unit, click Add Payment, enter date, amount, method Payment recorded; schedule updates
View payments Navigate to payments list Filterable by project, status, method, date range
Payment summary View summary section Shows total collected, pending, overdue, collection rate, due in 30 days
Edit payment Click a payment, modify details Changes save
Deactivate payment Click Deactivate, enter reason Payment marked inactive

Things to check:

  • Currency displays as KES

  • Payment allocation to milestones works correctly

  • Overdue payments are correctly flagged

15. Due Diligence / Compliance

Feature What to do Expected result
View required docs Open due diligence section on a project Shows required vs optional documents with upload status
Upload documents Upload compliance docs (licenses, certificates, etc.) Documents save with correct type
View status Check due diligence status Shows completion breakdown

16. Billing & Subscription

Feature What to do Expected result
View plans Go to Settings > Billing, Plans tab See Free and Enterprise plans; current plan marked
Toggle pricing Switch between Monthly/Annual Prices update
Payment history Click Payment History tab Past payments listed with date, amount, method, status
Payment methods Click Payment Methods tab Saved methods shown; can add/remove
Upgrade Click Upgrade on Enterprise plan Payment flow: M-Pesa STK push or card entry; subscription upgrades on success

Things to check:

  • Free tier limits: 1 project, 5 units, 1 agent, 1 building, 1 phase, 1 template, 1 payment plan

  • Limit reached shows upgrade prompt

  • After upgrade, limits increase immediately

17. Customers / Leads

Feature What to do Expected result
View customers Open customer section for a project List of project customers
Add customer Click Add Customer, fill name, contact, preferences Customer record created
Search Search by name or phone Results filter
View details Click a customer Full profile with contact history

18. Route Access / Permissions

Route Should you have access?
/manager/dashboard Yes
/projects Yes
/projects/:id Yes (only your projects)
/projects/:id/manage Yes (only your projects)
/manager/applications Yes
/manager/agents Yes
/billing Yes
/profile Yes
/agent/* No -- should redirect to /unauthorized
/admin/* No -- should redirect to /unauthorized
/client/* No -- should redirect to /unauthorized

Quick Checklist Summary

Use this to track your progress:

  • Mobile Responsiveness
  • Registration (email + Google SSO)
  • Login / Logout
  • Onboarding (profile + role selection)
  • Dashboard loads with correct data
  • Developer profile CRUD + publish/unpublish
  • Create project via wizard
  • View project list with search/filter
  • Project manage view -- all tabs load
  • Units: create, bulk create, edit, delete, search/filter
  • Buildings: create, edit
  • Phases: create, edit
  • Unit templates: create, apply, edit, delete
  • Payment plans: create, view
  • Project settings: edit, publish/unpublish
  • Team: view, invite, remove
  • Access requests: view, approve, reject
  • Contracts: create, send, activate, terminate, extend
  • Agent directory: browse, search, filter, view profile
  • Payments: add, view, filter, summary, deactivate
  • Due diligence: view requirements, upload docs
  • Billing: view plans, payment history, payment methods, upgrade
  • Customers: view, add, search
  • Route permissions: cannot access agent/admin/client routes
  • Subscription limits enforced on Free plan
Last updated 1 hour ago
Was this helpful?
Thanks!