Thank you @longwave, @catch, and @alexpott for fixing it so quickly.
Confirmed this also happens on Drupal 11 with version 7.1.7 of symfony/http-foundation.
How to review:
1. Go to landing page /tragedy_of_the_commons.
2. Click on 'Fill out the REQUEST FORM.'
3. Fill out the request form and click 'Submit Request'.
4. Confirm you get the 'Approved' email.
5. Navigate back to /tragedy_of_the_commons.
6. Expand 'Playing the Multi-person Tragedy of the Commons game'.
7. Put in the test password from the email into the field and click 'Submit'.
8. Confirm you see a start page with 'Name's Game Start Page' text and text saying it is a test.
9. Enter multiple players with different first and last names.
10. For each player confirm you will be taken to the player's game page.
11. For each player enter a number of cows.
12. For each player confirm you are taken to a wait page.
13. Open the manage page for the game using the link in the email or adding manage to the URL after the game ID e.g. '/tragedy_of_the_commons/gamespace/3/manage'.
14. Hit submit to 'complete' the round.
15. Confirm you are taken to the results page with the results of that round and no names being displayed.
16. For each player confirm they are also taken to their player page where it shows the same results, summary at the bottom and a form to submit another round.
17. Confirm the results match the expected results/maths.
Done in https://www.drupal.org/project/tragedy_commons/issues/3468792 📌 Work on main multi player game logic part 1 Needs review
Done in https://www.drupal.org/project/tragedy_commons/issues/3468792 📌 Work on main multi player game logic part 1 Needs review
Done in https://www.drupal.org/project/tragedy_commons/issues/3468792 📌 Work on main multi player game logic part 1 Needs review
Going to hold of on this as we want to preserve records including players and rounds and we can only do that with data in the database.
Keep requests but delete players and rounds.
Get rid of acceptance workflow so no need configuration page.
Create two requests when one request is submitted.
Try again instructions:
If the game doesn't work or the results are problematic fill out the request form again to get a new game.
Submit the request, automatically approve.
Instructions for a second game:
Your game has been approved and is ready to play. This game allows you to play one game, of multiple rounds for one class session.
If you want to play the game in more than one class, fill in the form again from /tragedy_of_the_commons — filling it in one time for each class but add a different letter (NOT a number) to the end of your last name (e.g., mitchella, mitchellb, mitchellc). Why? Because lastnames are the passwords for each game.
How to review:
1. Go to landing page /tragedy_of_the_commons.
2. Click on 'Fill out the REQUEST FORM.'
3. Fill out the request form and click 'Submit Request'.
4. Confirm you get the 'Received' email to the entered email address in the form and 'Approval Sought' email to the hardcoded emails.
5. Navigate to the link in the 'Approval Sought' email (login as needed) to review the request and confirm the Approval and Disapproval buttons display.
6. Navigate to /admin/config/development/tragedy_of_the_commons/results and confirm you see the request in a table.
7. Click on the ID or 'Last Name' links to get to the request page from step 5 with the buttons.
8. On the request page click 'Approve Request' to approve the request. Confirm the buttons disappear.
9. Confirm you get the 'Approved' email.
10. Navigate back to /tragedy_of_the_commons.
11. Expand 'Playing the Multi-person Tragedy of the Commons game'.
12. Put in the test password from the email into the field and click 'Submit'.
13. Confirm you see a start page with 'Game for ...' text and whether it is a test or not.
14. Enter multiple players with different first and last names.
15. For each player confirm you will be taken to the player's game page.
16. For each player enter a number of cows.
17. For each player confirm you are taken to a wait page.
18. Open the manage page for the game using the link in the email or adding manage to the URL after the game ID e.g. '/tragedy_of_the_commons/gamespace/3/manage'.
19. Hit submit to 'complete' the round.
20. Confirm you are taken to the results page with the results of that round and no names being displayed.
21. For each player confirm they are also taken to the results page.
22. Confirm the results match the expected results/maths and look like the existing site.
Yes need this fix for Drupal 11 and the tests will show that is failing when it runs against Drupal 11.
Lol this is a duplicate of https://www.drupal.org/project/session_limit/issues/3464613 🐛 ArgumentCountError: Too few arguments to function Drupal\Core\Form\ConfigFormBase::__construct() RTBC . I checked the test failure but not the argument error. Closing as duplicate.
Ready for review.
Also can someone change the default branch https://git.drupalcode.org/project/session_limit to 2.0.x.
Confirmed the patch fixes the issue. Ignore the pipeline test failures as that is related to this issue https://www.drupal.org/project/session_limit/issues/3473171 📌 ConfigurationForm is throwing a 500 error Active
Issue is related to https://www.drupal.org/node/3404140 →
Confirmed the 500 error on the configuration page for Drupal 11. The error:
ArgumentCountError: Too few arguments to function Drupal\Core\Form\ConfigFormBase::__construct(), 1 passed in /home/public/drupal/modules/session_limit/src/Form/SettingsForm.php on line 35 and exactly 2 expected in Drupal\Core\Form\ConfigFormBase->__construct() (line 43 of /home/public/drupal/core/lib/Drupal/Core/Form/ConfigFormBase.php).
dmundra → changed the visibility of the branch 3395489-css-and-js to hidden.
This might be related to https://www.drupal.org/project/require_login/issues/3370536 🐛 Aggregated CSS and JS not working anymore with Drupal 10.1 Fixed
dmundra → changed the visibility of the branch 3468792-main-logic-2 to active.
dmundra → changed the visibility of the branch 3468792-main-logic-2 to hidden.
Merging changes to review with Ron for testing. Individual games implemented and forms for multi-player players and rounds.
Merged the patch that was used with NSF.
Tagging Kristian
Couple of small bugs to fix:
* Add a request not found message to the request admin page.
* Fix the following phpcs
81 | ERROR | The $_REQUEST super global must not be accessed directly; inject
| | the request_stack service and use
| | $stack->getCurrentRequest()->request->get('test') instead
How to review:
1. Go to landing page /tragedy_of_the_commons.
2. Click on 'Fill out the REQUEST FORM.'
3. Fill out the request form and click 'Submit Request'.
4. Confirm you get the 'Received' email to the entered email address in the form and 'Approval Sought' email to the hardcoded emails.
5. Navigate to the link in the 'Approval Sought' email (login as needed) to review the request and confirm the Approval and Disapproval buttons display.
6. Navigate to /admin/config/development/tragedy_of_the_commons/results and confirm you see the request in a table.
7. Click on the ID or 'Last Name' links to get to the request page from step 5 with the buttons.
8. On the request page click 'DISapprove Request' to reject the request. Confirm the buttons disappear.
9. Confirm you get the 'Request Denied' email.
10. Create a new request.
11. On the request page click 'Approve Request' to approve the request. Confirm the buttons disappear.
12. Confirm you get the 'Approved' email.
13. Navigate back to /tragedy_of_the_commons.
14. Expand 'Playing the Multi-person Tragedy of the Commons game'.
15. Put in the test password from the email into the field and click 'Submit'.
16. Confirm you see a start page with 'Game for ...' text and whether it is a test or not.
Switching this issue to finish up just the basic forms and create a separate issue for the actual game play.
So I think this is no longer an issue and so no fix is needed. I tested with a new Drupal site and the latests feeds branch and the requests working to even the site I had an issue with. So I think this should be closed.
Made a small consistency commit to the readme https://git.drupalcode.org/issue/codit_batch_operations-3457720/-/commit...
Maybe define/describe what "Codit" is.
Hey @mgifford, I am not seeing an conflicts so no need to re-roll I think till we get traction on this.
Thank you!
Added the two games.
Looks like the fix was already added https://git.drupalcode.org/project/unsubscribe/-/commit/8efbdd6d45d6c3ff... but it didn't make it to the dev release for some reason.
Also the array flip problem was fixed in https://www.drupal.org/project/unsubscribe/issues/2387217 →
@jastraat would the patch benefit from a update hook to clear the cache?
Thanks @aaron.ferris looks good to me.
Yup and I believe you need to move the requirements in composer.json from 'require-dev' to 'require' https://git.drupalcode.org/project/vertex_ai_search/-/blob/1.0.x/compose.... E.g. https://git.drupalcode.org/project/geofield/-/blob/8.x-1.x/composer.json...
dmundra → created an issue.
Thanks @neclimdul. The tests looks great. Looks like there is one minor code quality issue preventing the pipeline from running. I ran it locally though and the test is passing!
dmundra@drupal-core-web:/var/www/html/web/core$ yarn test:nightwatch --test tests/Drupal/Nightwatch/Tests/a11yTestPager.js
Corepack is about to download https://repo.yarnpkg.com/4.1.1/packages/yarnpkg-cli/bin/yarn.js.
Do you want to continue? [Y/n] y
[Tests/A11y Test Pager] Test Suite
────────────────────────────────────────────────────────────────────
ℹ Connected to chromedriver on port 9515 (2116ms).
Using: chrome (74.0.3729.157) on LINUX.
ℹ Loaded url http://web in 1844ms
ℹ Loaded url http://web/user/reset/1/1714426166/CkrAHSO_GVGNGP73wkkbB25lBkkiWpTlwMX_UER82qc/login
in 1197ms
ℹ Loaded url http://web/admin/modules in 1376ms
✔ Element <form.system-modules [name="modules[pager_test][enable]"]> was visible after 564 milliseconds.
✔ Element <#system-modules-confirm-form> was present after 551 milliseconds.
✔ Element <form.system-modules [name="modules[pager_test][enable]"]:disabled> was present after 25 milliseconds.
ℹ Loaded url http://web/user/logout/confirm in 487ms
Running pager ellipsis is accessible:
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
ℹ Loaded url http://web/pager-test/ellipsis in 279ms
✔ Testing if element <.pager__item--ellipsis> is visible (38ms)
✔ Passed [ok]: aXe rule: aria-allowed-attr (2 elements checked)
✔ Passed [ok]: aXe rule: aria-allowed-role (1 elements checked)
✔ Passed [ok]: aXe rule: aria-conditional-attr (2 elements checked)
✔ Passed [ok]: aXe rule: aria-deprecated-role (1 elements checked)
✔ Passed [ok]: aXe rule: aria-prohibited-attr (2 elements checked)
✔ Passed [ok]: aXe rule: aria-required-attr (1 elements checked)
✔ Passed [ok]: aXe rule: aria-roles (1 elements checked)
✔ Passed [ok]: aXe rule: aria-valid-attr-value (2 elements checked)
✔ Passed [ok]: aXe rule: aria-valid-attr (2 elements checked)
✔ Passed [ok]: aXe rule: color-contrast (2 elements checked)
✔ Passed [ok]: aXe rule: duplicate-id-aria (1 elements checked)
✔ Passed [ok]: aXe rule: empty-heading (1 elements checked)
✔ Passed [ok]: aXe rule: landmark-unique (1 elements checked)
✔ Passed [ok]: aXe rule: link-name (3 elements checked)
✔ Passed [ok]: aXe rule: list (1 elements checked)
✔ Passed [ok]: aXe rule: listitem (5 elements checked)
✨ PASSED. 17 assertions. (686ms)
Wrote HTML report file to: /var/www/html/web/core/reports/nightwatch/nightwatch-html-report/index.html
@neclimdul
On the last point, I think I understand I could test the pager block and that makes sense and seems like the right approach. I'm not sure that fully addresses my concern though. The ellipse could be failing but the test pass if the environment doesn't have enough content or configuration changed in a way as so the ellipse isn't rendered. Should it target the ellipse directly?
Ah, yes targeting the ellipse directly makes sense for the test as the test should fail if no ellipse is shown.
There might be a way to include the pager test module in the nightwatch test https://git.drupalcode.org/project/drupal/-/tree/11.x/core/modules/syste... and/or build of other pager tests https://git.drupalcode.org/project/drupal/-/blob/11.x/core/modules/views... or https://git.drupalcode.org/project/drupal/-/blob/11.x/core/tests/Drupal/...
@neclimdul, I think for this pager example it would be better to create a new test file (e.g. filename a11yTestPager.js or something) that scaffolds enough content (say 5 items) and modifies the view to display 1 item at a time so you get a pager, or something like that.
* How is the site is setup? What's available to test against?
The install profile 'nightwatch_a11y_testing' is used to setup the nightwatch a11y tests in the pipeline and provides some structure to test against.
* How to affect things so that there is a URL that has enough pages to trigger the pager overflow? My guess is the site is probably empty or minimally populated so most urls with a pager won't have overflow in the pager.
Nightwatch tests have access to create nodes and users like others tests including calling setup scripts. Here is an example https://git.drupalcode.org/project/drupal/-/blob/10.2.5/core/tests/Drupa... that calls https://git.drupalcode.org/project/drupal/-/blob/10.2.5/core/tests/Drupa...
* Can you somehow assert the element is on the page so the accessibility test is doing something? If we're mocking a bunch of content and then just have a url in the test file, it would be very easy to regress to the point of not testing this anymore without knowing it by removing(optimizing) content.
Yes in a sense. Instead of testing the entire page you can just test the pager block (which I would recommend for a new test file). In this https://git.drupalcode.org/project/drupal/-/blob/10.2.5/core/tests/Drupa... example checks only the 'body' for accessibility issues.
@mkolar can you create a new release for the Drupal 10 version and publish it?
Thanks @Balu Ertl, could you create a new release for the Drupal 10 version so folks can use that instead of dev branch?
dmundra → created an issue.
Appears tests are failing because token module needs to be added to the modules variable https://git.drupalcode.org/project/vertex_ai_search/-/blob/1.0.x/tests/s...
Created MR https://git.drupalcode.org/project/vertex_ai_search/-/merge_requests/2 with the changes and here is the pipeline https://git.drupalcode.org/issue/vertex_ai_search-3441337/-/pipelines/14...
dmundra → created an issue.
I figured out the composer issue. The drush requirements were tripping those up so I cleared those as I believe those strict requirements are not needed.
Here is the results https://git.drupalcode.org/issue/hybrid_login-3437929/-/pipelines/143018 and check out the recommendations by phpcs/phpstan/cspell.
Thanks @RoSk0. Ya 2.1.x is blocker because of PHP 8 right now but we will work on that next.
Here is the pull request for the SimpleSAMLphp module https://github.com/drupalauth/simplesamlphp-module-drupalauth/pull/97 to make it work with SimpleSAMLphp 2.0.x.
I haven't test with 2.1 to 2.2 but this so far is working with 2.0.10.
Patch includes the patch from the related issue https://www.drupal.org/project/drupalauth4ssp/issues/3028665 →
Added the .gitlab-ci.yml file https://git.drupalcode.org/project/hybrid_login/-/merge_requests/2 and you can see the pipeline results https://git.drupalcode.org/issue/hybrid_login-3437929/-/pipelines/136599.
Looks like there is a dependency issue with composer for some reason.