🧪 QA scenarios — DrupalPod AI QA
The purpose of this ticket is to validate the DrupalPod AI QA tool — the browser extension, the DDEV config generator, and the DrupalForge launch flow.
The goal is to confirm that the tool correctly reads an issue, pre-populates the right environment variables, and delivers a working Drupal environment for testing.
For each scenario below, use the DrupalPod AI QA browser extension as your starting point.
The extension is Chrome-only for now. Install the extension, navigate to an AI module issue on drupal.org, and click the icon to begin.
Scenario 1 — Extension reads and pre-populates the issue correctly
- Open an issue in the AI module queue on drupal.org.
- Click the DrupalPod AI QA extension icon.
- Confirm the extension panel displays the correct project type, module name, version, fork, and issue branch.
- Record any fields that are missing, incorrect, or unexpectedly blank.
Pass: All fields correctly pre-populated. Fail: Any field is missing, wrong, or the extension does not open.
Scenario 2 — DDEV config generation
- From the extension panel, click DDEV then Generate ddev config.
- Confirm a
.ddev/config.drupal.yamlis produced with correct values — check at minimum:DP_AI_MODULE,DP_AI_ISSUE_FORK,DP_AI_ISSUE_BRANCH, andDP_STARTER_TEMPLATE. - Drop the config into a DDEV project and run
ddev restart. - Confirm the environment builds and the expected module version and branch are present.
Test with both AI 1.x and AI 2.x where possible.
Pass: Config correct, environment builds, correct branch checked out. Fail: Config missing values, build fails, or wrong branch.
Scenario 3 — DrupalForge launch
- Log into DevPanel before starting.
- From the extension panel, click DrupalForge then Launch DrupalForge.
- Confirm you are redirected with environment variables pre-set.
- Spin up the environment in DevPanel and confirm the correct module version and branch are present.
Test with both AI 1.x and AI 2.x where possible.
Pass: Redirect lands correctly, environment builds, correct branch active. Fail: Redirect missing variables, build fails, or wrong branch.
Scenario 4 — Version coverage
Where your setup allows, confirm the tooling works across these combinations. Test what you can and call out anything skipped.
- Drupal CMS 1 · AI 1.x · PHP 8.3 · DrupalForge
- Drupal CMS 1 · AI 1.x · PHP 8.3 · DDEV
- Drupal CMS 2 · AI 2.x · PHP 8.3 · DrupalForge
- Drupal CMS 2 · AI 2.x · PHP 8.3 · DDEV
- Drupal core 11.x · AI 2.x · PHP 8.3 · DrupalForge
Scenario 5 — Contrib module: AI Image Alt Text
Repeat the above testing using an issue from the AI Image Alt Text contrib module queue rather than the AI base module. This confirms the tooling works correctly when DP_TEST_MODULE is set to a contrib module.
- Browse the AI Image Alt Text issue queue and select a suitable open issue — prioritise issues that have a patch or fork attached and clear reproduction steps.
- Open the issue and click the DrupalPod AI QA extension icon.
- Confirm the extension correctly identifies this as a contrib module issue and populates
DP_TEST_MODULE,DP_TEST_MODULE_VERSION,DP_TEST_MODULE_ISSUE_FORK, andDP_TEST_MODULE_ISSUE_BRANCHin addition to the AI base fields. - Launch the environment via DDEV or DrupalForge (or both).
- Confirm both the AI base module and the AI Image Alt Text module are installed and at the expected versions.
- Where a fork is present, confirm the fork branch is checked out for the contrib module.
- Vary your combinations across AI
1.xand AI2.x— note whether behaviour or compatibility differs between versions. - Record the issue you selected, the combination tested, and the result.
Pass: Extension correctly identifies the contrib context, both modules present at correct versions, fork branch checked out where applicable. Fail: Contrib module fields missing or wrong, modules not installed, or wrong branch.
Versioning helper
When recording versions in your results, or if you need to override a version in the extension, use the following format:
1= latest supported1.xrelease line1.2= latest supported1.2.xrelease line1.x= the1.xdevelopment branch1.2.x= the1.2.xdevelopment branch1.2.3= an exact tagged release- Empty = auto-detect, or allow any version when the workflow supports it
- If testing a fork or issue branch, always provide the fork, the branch, and the matching module version
- Common examples for this work:
Drupal CMS 1.x,Drupal CMS 2.x,AI 1.2.x,AI 2.0.x,PHP 8.2,PHP 8.3
Thank you! 🙏 Any issues with the extension or environment setup are exactly what we want to hear about here.
| Comment | File | Size | Author |
|---|---|---|---|
| #16 | Captura de tela 2026-03-17 100521.png | 111.96 KB | brunocarvalho |
| #16 | Captura de tela 2026-03-17 100425.png | 1.25 MB | brunocarvalho |
| #16 | Captura de tela 2026-03-17 094818.png | 631.67 KB | brunocarvalho |
| #16 | Captura de tela 2026-03-17 085801.png | 289.58 KB | brunocarvalho |
| #16 | Captura de tela 2026-03-17 085651.png | 371.18 KB | brunocarvalho |
Issue fork ai_agents-3570398
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 3570398-drupalpod-ai--
compare
1 hidden branch
Issue fork drupalpod_ai_qa-3570398
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
- 3570398-drupalpod-ai--
compare
Comments
Comment #2
brunocarvalho commentedComment #3
brunocarvalho commentedComment #5
brunocarvalho commentedComment #6
brunaemerich commentedComment #7
littlepixiez commentedComment #8
littlepixiez commentedComment #9
littlepixiez commentedComment #11
brunocarvalho commentedScenario 1 — Extension reads and pre-populates the issue correctly
https://www.drupal.org/files/issues/2026-03-16/Captura_de_tela_20260316_...
https://www.drupal.org/files/issues/2026-03-16/Captura_de_tela_20260316_...
Comment #12
brunocarvalho commentedScenario 2 — DDEV config generation
https://www.drupal.org/files/issues/2026-03-16/Captura_de_tela_2026-03-1...
https://www.drupal.org/files/issues/2026-03-16/Captura_de_tela_2026-03-1...
Comment #13
brunocarvalho commentedScenario 3 — DrupalForge launch
https://www.drupal.org/files/issues/2026-03-16/Captura_de_tela_20260316_...
https://www.drupal.org/files/issues/2026-03-16/Captura_de_tela_20260316_...
Comment #14
brunocarvalho commentedComment #15
brunocarvalho commentedScenario 4 — Version coverage
I was able to bring up all the environments with the following settings:
https://www.drupal.org/files/issues/2026-03-17/Captura%20de%20tela%20202...
https://www.drupal.org/files/issues/2026-03-17/Captura%20de%20tela%20202...
Comment #16
brunocarvalho commentedScenario 5 — Contrib module: AI Image Alt Text
https://www.drupal.org/files/issues/2026-03-17/Captura%20de%20tela%20202...
https://www.drupal.org/files/issues/2026-03-17/Captura%20de%20tela%20202...
https://www.drupal.org/files/issues/2026-03-17/Captura%20de%20tela%20202...
https://www.drupal.org/files/issues/2026-03-17/Captura%20de%20tela%20202...
https://www.drupal.org/files/issues/2026-03-17/Captura%20de%20tela%20202...
https://www.drupal.org/files/issues/2026-03-17/Captura%20de%20tela%20202...