You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Testing] MapScreen cluster expansion to individual task list is untested — the most user-critical map interaction has no coverage #147
The map view is a core task discovery feature (MapScreen.tsx, 306 lines). MapScreen.test.tsx exists and tests marker rendering, but the most important user-facing behavior — tapping a cluster marker to see its individual tasks — has no test. MapScreenPerformance.test.tsx benchmarks clustering but never verifies that the cluster expansion actually navigates to the correct task.
Problem / What
When a user taps a cluster Marker, the current behavior (onCalloutPress) only navigates if the marker is a single task (!isCluster). Cluster markers show "Zoom in to see individual tasks" in the description. But there is no tested path for: (a) what happens when a user taps a cluster on a device that doesn't support zooming, (b) whether a single-item cluster (which has count: null and renders as a task marker) correctly navigates to TaskDetail, and (c) whether the cluster callout press guard if (!isCluster && firstTask) actually prevents navigation for multi-task clusters.
MapScreen.test.tsx already mocks react-native-maps and renders the map — the missing tests can be added to this file.
Key Challenges
Marker.onCalloutPress is a prop on a mocked native component — simulate it via fireEvent or by directly calling the prop in the test.
useTaskStackNavigation must be mocked to assert navigate('TaskDetail', { taskId }) is called with the correct ID.
The test must distinguish between a single-task cluster (count: null) and a multi-task cluster (count: N).
Acceptance Criteria
New tests in MapScreen.test.tsx covering: tapping a single-task marker navigates to TaskDetail with the correct taskId; tapping a multi-task cluster does NOT navigate; tapping a cluster with count: null (promoted to single marker) navigates correctly.
Tests pass in CI without modifying MapScreen.tsx behavior.
Hi! I’ve worked with React Native Testing Library, mocked native maps, and navigation assertions. I’ll extend the existing MapScreen tests for single markers, multi-task clusters, and count:null promotion without changing runtime behavior. I can open a focused draft within 24 hours after assignment. Please assign this issue to me.
I’d like to work on this issue because it addresses an important area of the project and presents a great opportunity to make a meaningful contribution. I’m particularly interested in delivering a solution that is reliable, maintainable, and aligned with the project’s existing architecture and development standards.
I have experience working across software development, including backend and frontend development, APIs, databases, testing, DevOps, and blockchain-based applications. I’m comfortable understanding existing codebases, identifying the root cause of issues, implementing clean and scalable solutions, and writing thorough tests to prevent regressions.
My approach would be to first understand the existing implementation and project conventions, then develop the solution in a focused and incremental way. I’ll ensure the changes are well-tested, documented where necessary, and do not introduce unnecessary complexity or break existing functionality. I’m also committed to clear communication, responding to review feedback, and delivering a polished contribution that provides real value to the project.
Activity
dimin4241-svg commentedon Aug 28, 2026
Hi! I’ve worked with React Native Testing Library, mocked native maps, and navigation assertions. I’ll extend the existing MapScreen tests for single markers, multi-task clusters, and count:null promotion without changing runtime behavior. I can open a focused draft within 24 hours after assignment. Please assign this issue to me.
devOgazi commentedon Aug 28, 2026
I’d like to work on this issue because it addresses an important area of the project and presents a great opportunity to make a meaningful contribution. I’m particularly interested in delivering a solution that is reliable, maintainable, and aligned with the project’s existing architecture and development standards.
I have experience working across software development, including backend and frontend development, APIs, databases, testing, DevOps, and blockchain-based applications. I’m comfortable understanding existing codebases, identifying the root cause of issues, implementing clean and scalable solutions, and writing thorough tests to prevent regressions.
My approach would be to first understand the existing implementation and project conventions, then develop the solution in a focused and incremental way. I’ll ensure the changes are well-tested, documented where necessary, and do not introduce unnecessary complexity or break existing functionality. I’m also committed to clear communication, responding to review feedback, and delivering a polished contribution that provides real value to the project.
grantfox-oss commentedon Aug 28, 2026
🦊 GrantFox — @devOgazi has been assigned to this issue as part of the Third Campaign campaign!
Next steps:
Closes #147)Good luck! Track your progress on GrantFox.
grantfox-oss commentedon Aug 29, 2026
🎉 This issue has been marked as completed on GrantFox as part of the Third Campaign campaign!
@devOgazi's PR #156 was approved and merged by @cybermax4200.
🏆 @devOgazi: You earned 35 FoxPoints for this contribution! Your current tier: Explorer (729 total points). Track your full progress on GrantFox.
👏 Great work, @devOgazi! Keep contributing to ecotask-network.