Skip to content

Commit 17d37c7

Browse files
authored
Docs: add comprehensive bug test report for organization features (#456)
* Test: add comprehensive bug test report for organization features * docs: update bug test report for organization features and address critical issues * fix: update branch name in bug test report and upgrade dompurify to version 3.3.2
1 parent 4ae1761 commit 17d37c7

2 files changed

Lines changed: 129 additions & 3 deletions

File tree

docs/bug-test-report.md

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# Bug Test Report: Organization & Onboarding Flow
2+
3+
**Project:** BoundlessFi
4+
**Date:** March 7, 2026
5+
**Environment:** Frontend (Local) / Backend (Staging API)
6+
**Status:** Issue #448 Verification Complete
7+
8+
---
9+
10+
## 1. Executive Summary
11+
12+
Overall, core organization features (creation, search, and navigation) are stable. However, critical blockers exist within the **Invitation Lifecycle** and **Hackathon Publishing** flows. Additionally, UX refinements are needed for mobile navigation and input validation.
13+
14+
---
15+
16+
## 2. Issue #448 Verification Status [COMPLETED]
17+
18+
All items specified in Issue #448 have been verified for production readiness:
19+
20+
| Feature | Status | Notes |
21+
| :----------------------- | :----- | :--------------------------------------------------- |
22+
| **Public Profile Route** | Pass | `/org/[slug]` functions correctly end-to-end. |
23+
| **OG Metadata** | Pass | Title, description, and images validated. |
24+
| **Settings Tabs** | Pass | Profile, Links, Members, and Transfer verified. |
25+
| **Sidebar Actions** | Pass | Host Hackathon and Grants (disabled state) verified. |
26+
| **Search/Sort** | Pass | Search and sort keys behave as expected. |
27+
| **Deep-linking** | Pass | Direct URL loading for organizations is functional. |
28+
| **Header Search** | Pass | `⌘K` navigation is bug-free. |
29+
| **Profile Validation** | Pass | Slug/Profile validation logic is functional. |
30+
| **Mobile Responsive** | Pass | Hamburger menu is functional on settings pages. |
31+
32+
---
33+
34+
## 3. High-Priority Bugs
35+
36+
### BUG-001: Invite Link Routing Mismatch (404)
37+
38+
- **Issue:** Generated invite links point to `/signup` instead of the active `/auth` route.
39+
- **Example Link:** `https://staging.boundlessfi.xyz/signup?invitationId=...`
40+
- **Impact:** Users cannot join organizations via email.
41+
- **Recommended Fix:** Update `getInvitationUrl` in the backend/auth-config to target `/auth`.
42+
43+
### BUG-002: Invite Acceptance Logic Failure
44+
45+
- **Issue:** Manually correcting the URL to `/auth` allows sign-up, but the user is not associated with the organization.
46+
- **Actual Behavior:** User is redirected to home; status remains "Pending"; member list is not updated.
47+
- **Expected Behavior:** User should automatically join the organization and redirect to the org dashboard.
48+
49+
### BUG-003: Hackathon Publish Endpoint (404)
50+
51+
- **Action:** Click **Publish** in the Preview tab for a draft hackathon.
52+
- **Observed Error:** `PUT .../api/organizations/{orgId}/hackathons/draft/{hackathonId}/publish` returns **404 Not Found**.
53+
- **Likely Root Cause:** Wallet balance is insufficient for publish-related on-chain or fee-dependent operations.
54+
- **UX Gap:** The UI does not tell users that the publish failure is caused by **insufficient wallet funds**.
55+
- **Impact:** Users cannot move hackathons from "Draft" to "Live" and do not know how to resolve it.
56+
- **Suggestion:** Show a clear inline/toast error such as: `Insufficient wallet funds to publish. Please fund your wallet and try again.`
57+
58+
**Suggested User Guidance (Fund Wallet Steps)**
59+
60+
1. Open wallet settings from the profile/wallet menu.
61+
2. Copy your connected wallet address.
62+
3. Add funds to that wallet on the required network (via exchange transfer, bridge, or faucet for test/staging).
63+
4. Wait for transaction confirmation and refresh the app.
64+
5. Return to the hackathon draft and click **Publish** again.
65+
66+
### BUG-004: Delete/Archive Organization Non-Functional
67+
68+
- **Issue:** Actions to delete or archive an organization fail.
69+
70+
**What I tested**
71+
72+
- Opened `/organizations`.
73+
- Selected an organization.
74+
- Clicked the **Archive** button and completed the confirmation prompt.
75+
- Clicked the **Delete** button and completed the confirmation prompt.
76+
77+
**Observed Result**
78+
79+
- Both actions failed.
80+
- The organization was not archived and not deleted.
81+
82+
**Expected Result**
83+
84+
- Archive should move the organization to archived state.
85+
- Delete should remove the organization.
86+
87+
**Scope**
88+
89+
- Test type: Manual UI test.
90+
- Environment: Frontend local + staging backend.
91+
- Role: Owner.
92+
- Organizations tested: 1 organization in this pass.
93+
94+
## 4. UI/UX Improvements
95+
96+
### UX-001: Mobile Navigation Tabs (Host Hackathon)
97+
98+
- **Observation:** Sub-navigation tabs (e.g., Participation, Edit) are difficult to access/truncated on mobile screens.
99+
- **Suggestion:** Implement **horizontal scrollable tabs** for sub-nav menus to improve mobile accessibility.
100+
101+
### UX-002: Slug Availability Feedback
102+
103+
- **Issue:** The UI displays "Slug available" even for taken slugs, only failing upon final form submission.
104+
- **Suggestion:** Real-time validation should return "Slug already taken" before the user attempts to submit.
105+
106+
### UX-003: Password Strength Feedback
107+
108+
- **Issue:** Form submission is blocked for weak passwords without explaining why.
109+
- **Suggestion:** Add a helper text: _"Password must be at least 8 characters and include a number."_
110+
111+
---
112+
113+
## 5. Technical Edge Cases
114+
115+
### Route Guarding: Invalid Organization IDs
116+
117+
- **Issue:** Manually entering an invalid ID (e.g., `/organizations/random123/settings`) still renders the settings UI shell.
118+
- **Recommendation:** Implement a check to return a 404 page if the Organization ID does not exist in the database.
119+
120+
---
121+
122+
**Reported by:** QA Team
123+
**Branch:** `Test/Test-the-organization-flow---manual-QA-checklist`

package-lock.json

Lines changed: 6 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)