QA Testing Guide

Everything you need to set up, test, and verify Zerocast. Follow these steps in order.

01

Clone & Install

Clone the repository

git clone https://github.com/AviOfLagos/antigravity-streamyard.git
cd antigravity-streamyard
npm install

Get the .env.local file

Request the .env.local file from the project lead. It contains credentials for:

  • Neon Postgres (DATABASE_URL, DIRECT_URL)
  • Upstash Redis (UPSTASH_REDIS_REST_URL, UPSTASH_REDIS_REST_TOKEN)
  • LiveKit Cloud (LIVEKIT_API_KEY, LIVEKIT_API_SECRET, NEXT_PUBLIC_LIVEKIT_URL)
  • NextAuth (NEXTAUTH_SECRET, NEXTAUTH_URL)
  • Google OAuth (GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET)

Never commit .env.local to git. It's already in .gitignore.

Generate Prisma client & start dev server

npx prisma generate
npm run dev

App runs at http://localhost:3000

02

Run Automated Tests

Unit tests (114 tests)

npm test

All tests should pass. If any fail, report immediately.

Production build check

npx next build

Should compile with zero lint warnings.

03

API Testing (Postman)

Import the Postman collection

Find docs/zerocast-api.postman_collection.json in the repo.

  1. Open Postman → Import → drag the JSON file
  2. Set the baseUrl variable to http://localhost:3000
  3. Sign in via browser, then copy session cookie for authenticated requests
  4. Create a room first to get roomCode and hostToken

The collection covers 25 endpoints across 6 categories: Health, Rooms, Guest Flow, Moderation, Chat, Streaming, and Platforms.

04

Manual Testing Checklist

Follow the full QA test plan at docs/qa-test-plan.md in the repo. Key areas:

Authentication

Sign in, sign out, protected routes

Studio Creation

Title, platforms, auto-admit toggle

Guest Join Flow

Name, email, preview, waiting, admit, deny

Video & Audio

Camera, mic, speaker selection, speaking indicator

Host Moderation

Mute, kick, stage/backstage

Chat Integration

Messages, donations, subs, follows, raids

Send to Chat

Host sends to YouTube + Twitch

Go Live

Start/stop stream, add/remove platforms

Edge Cases

Room full, timeout, disconnect, ended room

Cross-Browser

Chrome, Firefox, Safari, mobile

05

Multi-User Testing

Zerocast is a multi-user app. You need at least 2 browser windows to test properly:

  1. Window 1 (Host): Sign in → Create studio → Enter studio
  2. Window 2 (Guest): Open incognito → Go to /join/{code} → Enter name → Request to join
  3. Host window: See toast → Admit or Deny
  4. Both windows: Verify video/audio works in both directions

Tip: Use Chrome + Incognito Chrome, or Chrome + Firefox for two separate sessions.

06

Reporting Issues

Use one of these channels to report bugs:

Include: steps to reproduce, expected vs actual behavior, browser/OS, and screenshots if possible.