# MEGA™ v1.9 — Workshop Voting Context Test Report

## Changes
- Participant ballot explains exactly which departmental risk is being assessed, with IDP strategic objective, SDBIP operational objective, risk category and title, local risk statement, consequences and root causes.
- Accessible Impact and Likelihood voting groups with five selectable values and brief plain-language guidance; **no control-effectiveness voting**.
- Participant ballot shows open Live workshop status, the workshop name and risk reference; closed or invalid voting rounds are rejected by the server.
- A successful vote displays a confirmation rather than the submission form.
- Risk Officer sees what will be disclosed to participants and can copy a full URL suitable for sharing on phones.
- Risk descriptions/related objectives cannot be changed during an open vote (to avoid participants voting on changing content).
- Existing application and `app/config.php` are preserved; no SQL schema migration is required.

## Local tests
- PASS: PHP syntax validation for all application PHP files.
- PASS: Baseline 587-row taxonomy and risk scoring checks.
- PASS: Standalone ballot GET fixture shows department, workshop, risk category/title, local risk statement, objectives, consequences and causes.
- PASS: Dangerous content in the risk narrative is HTML escaped.
- PASS: Two 1–5 rating groups (Impact and Likelihood), exactly 10 radio choices.
- PASS: Test POST with valid numbers renders submitted confirmation.
- PASS: Test POST with invalid numbers renders a user-readable validation warning.
- PASS: Closed round response does not render a voting form.
- PASS: Compressed ZIP integrity test.
- PASS: Existing `app/config.php` byte-for-byte unchanged from v1.8 source package.

## Still requires testing on Afrihost
- LIVE TEST NOT RUN: MySQL query, concurrent participant voting and post-save refresh.
- LIVE TEST NOT RUN: Browser rendering and mobile responsiveness; headless Chromium test timed out in the build environment.
- LIVE TEST NOT RUN: Correct absolute URL generation under the actual Afrihost installation path / HTTPS proxy.
- LIVE TEST NOT RUN: Role permissions on risk editing and secure sharing of the ballot link.

**Important:** The short verbal scale labels are *general* descriptions. They must be aligned with the municipality's approved risk-rating criteria before conducting an authoritative assessment. Current repeat-vote safeguards are browser-based and do not guarantee a single vote per physical participant using multiple devices.
