Skip to content

Latest commit

 

History

History
229 lines (170 loc) · 4.87 KB

File metadata and controls

229 lines (170 loc) · 4.87 KB

LoopIn Testing & Stabilization - Progress Tracker

Start Date: 2026-01-18 Target Completion: ~2 weeks


Phase 1: Observability Setup (Day 1) ✅

  • Install Sentry SDK (npm install @sentry/nextjs)
  • Configure sentry.client.config.ts
  • Configure sentry.server.config.ts
  • Configure sentry.edge.config.ts
  • Add ENV VARS (DSN hardcoded)
  • Install PostHog (npm install posthog-js)
  • Create PostHogProvider.tsx
  • Add provider to app layout
  • Create instrumentation-client.ts

Phase 2: Automated Test Generation (Day 2-3)

Playwright Setup

  • Install Playwright (npm install -D @playwright/test)
  • Create playwright.config.ts
  • Add mobile device configs (iPhone 12, Pixel 5, iPad Air)
  • Create test helpers (tests/e2e/helpers/test-helpers.ts)
  • Create test template (tests/e2e/feed-flow.spec.ts)

Record Critical Flows (Codegen)

  • Flow 1: Signup/Login
  • Flow 2: Create Post
  • Flow 3: Like/Comment
  • Flow 4: Direct Messaging
  • Flow 5: Anonymous Messaging
  • Flow 6: Community Navigation
  • Flow 7: Marketplace Create Listing
  • Flow 8: Marketplace Contact Seller
  • Flow 9: Broadcast Create
  • Flow 10: Resume Builder
  • Flow 11: LoopAI Chat
  • Flow 12: Profile Edit
  • Flow 13: Resource Upload
  • Flow 14: Event RSVP
  • Flow 15: Poll Voting

Unit Test Setup

  • Create tests/unit/ structure
  • Add Vitest config if missing
  • Generate store tests (feed, messages, auth)

Phase 3: Module Testing

Authentication Module

  • Google OAuth login success
  • Invalid email domain rejection
  • Invite code validation
  • Session persistence after refresh
  • Logout clears all state
  • Edge: Expired invite code
  • Edge: OAuth popup blocked

Feed Module

  • Create text post
  • Create post with image
  • Like post (optimistic)
  • Comment on post
  • Delete own post
  • Realtime post appears
  • Edge: Post with 10,000 chars
  • Edge: Rapid like/unlike

Messaging Module

  • Start direct conversation
  • Send text message
  • Message delivered in realtime
  • Typing indicator works
  • Start anonymous conversation
  • Request identity reveal
  • Accept/reject reveal
  • Edge: 1000+ message thread

Marketplace Module

  • Create listing
  • Upload multiple images
  • Filter by category/condition
  • Search listings
  • Contact seller
  • Mark as sold
  • Edge: Max image upload

Community Module

  • Join/leave community
  • Create post in community
  • Create event
  • RSVP to event
  • Create/vote on poll
  • Edge: Poll with 10 options

Resume Builder Module

  • Generate resume from profile
  • AI populates projects
  • Edit resume section
  • Chat to modify resume
  • Undo/redo changes
  • Download PDF
  • Edge: User with 0 projects

Broadcast Module

  • Create college-wide broadcast
  • View broadcast feed
  • Like/reply to broadcast
  • RSVP to event broadcast

Phase 4: AI-Powered QA

  • Evaluate testRigor/Mabl trial
  • Set up autonomous test for main flow
  • Configure Slack/email notifications

Phase 5: Visual Regression

  • Install Argos (npm install -D @argos-ci/playwright)
  • Configure playwright for Argos
  • Add visual tests for:
    • Feed page (light + dark)
    • Marketplace page
    • Messages page
    • Profile page
    • Resume builder
  • Mobile visual tests:
    • iPhone 12
    • Pixel 5
    • iPad Air

Phase 6: LoopAI Testing

  • Unit tests for RAG nodes
  • College isolation tests
  • Integration tests (FastAPI → LangGraph)
  • Streaming response test
  • LLM-as-judge quality test
  • Resume generation test

Phase 7: Security & RLS Testing

  • Test cross-college data isolation
  • Verify RLS on contents table
  • Verify RLS on messages table
  • Verify RLS on marketplace_listings
  • Run Supabase security advisors
  • Fix any RLS gaps

Phase 8: Performance Testing

  • Install Lighthouse CI
  • Run Lighthouse on main pages
  • Performance score ≥ 0.8
  • Install k6 for load testing
  • Run load test on API
  • 95th percentile < 500ms

Phase 9: Capacitor Pre-Migration

  • No window access on server
  • Platform abstraction exists
  • Relative URLs only
  • Touch targets ≥ 44px
  • Safe area insets handled
  • Test back gesture navigation

Daily Checklist

Morning (15 mins)

  • Check Sentry dashboard
  • Check PostHog recordings
  • Run smoke tests (npm run test:e2e -- --grep "@smoke")

Before Push

  • npm run lint
  • npm run test:unit
  • npm run test:e2e

Status Legend

  • ⬜ Not started
  • 🔄 In progress
  • ✅ Complete
  • ❌ Blocked
  • ⏭️ Skipped

Notes

Add discoveries, blockers, and decisions here