testing plans - Andre-asn/Quack-Campus-Event-Coordinator GitHub Wiki

Auth

What is tested

Allowed domain signs in, disallowed domain rejected with no user created, unverified email rejected, existing user matched by provider subject id, protected route rejects anonymous callers

Level

Integration, provider mocked

Owner

TBD

Event creation

What is tested

Valid create, missing fields, missing or unknown category, out-of-bounds coordinates, start time beyond 48 hours, description over 140 characters

Level

Unit and integration

Owner

TBD

Map query

What is tested

Bounding box correctness including edge coordinates, date filtering, link-only exclusion, result limit

Level

Integration

Owner

TBD

Visibility

What is tested

Every cell of the authorization matrix

Level

Integration

Owner

TBD

Join and leave

What is tested

Join, double join, leave, leave when not joined, count accuracy

Level

Integration

Owner

TBD

Host controls

What is tested

Edit by host, edit by non-host rejected, cancel, edit after cancel rejected

Level

Integration

Owner

TBD

View counting

What is tested

Dedup per viewer per day, host views excluded

Level

Unit

Owner

TBD

Core loop

What is tested

Sign in, post, discover, join, leave as one scripted path

Level

End to end

Owner

TBD

Integration Testing

Integration tests use a real PostGIS database via Testcontainers, since in-memory databases mishandle spatial queries and constraints.

Edge Cases

Edge cases: events on the bounding box edge, events starting now, simultaneous joins, cancelled events with attendees, empty viewports, seven events at one spot, tampered share tokens, and non-stevens.edu Google accounts.

Demo Check

Demo check: run the full core loop on a phone with seed data and two real stevens.edu accounts.