Skip to content

Conversation

@danielcristho
Copy link

@danielcristho danielcristho commented Dec 27, 2025

Issue Link 🔗: #750

Issue: #750

Type of Change

  • Bug fix 🐞
  • New feature/page
  • Documentation update
  • Other

Description 📋

  • What: Provide an overview of the issue this PR addresses. Explain the context and background information.

  • Why: Describe why the changes are being made. Highlight key updates, new features, or bug fixes.

  • How: Explain how these changes will affect the project or end-users.

Checklist ✅

  • Followed the Code of Conduct and Contribution Guide
  • Ran pre-commit run --all
  • All tests pass locally
  • Added tests (if applicable)
  • Documentation updated (if applicable)
  • Removed all remaining Jekyll-specific code from the design tests
  • Fix playwright test server startup by using pre-built static files
  • Update test routes to match render-engine output structure
  • Add missing alt text to BPD logo image for accessibility
  • Add title and aria-label to donation iframe for screen readers
  • Replace xprocess with simple HTTP server for better reliability

Additional Notes & Screenshots

Before: Playwright tests were failing with server startup timeouts and accessibility violations were blocking deployment.

After: All tests pass reliably, accessibility compliance achieved, and deployment works correctly with render-engine.

  • uv run python -m pytest tests/test.py::test_accessibility -v -s
  • uv run python -m pytest tests/test.py::test_destination -v
  • uv run python -m pytest tests/test_design.py -m design --maxfail=1
  • pre-commit
image
  • Playwright
image

Add any additional notes or comments that might be helpful for the reviewers.

@kjaymiller
Copy link
Contributor

@danielcristho - The actions are still failing. I'm not sure if you have the ability to commit changes to the actions but can you try to as well as make sure precommit is passing.

@danielcristho
Copy link
Author

Ah, I missed updating the actions. I’ll fix it ASAP and make sure the pre-commit is passing.

@danielcristho
Copy link
Author

danielcristho commented Jan 3, 2026

@kjaymiller - I've passed the actions and pre-commit. I'm also updating the year in the footer. I've got several failed tests. I think the failure is coming from content/template (missing lang attribute, title format inconsistencies etc).

  • uv run python -m pytest tests
uv run python -m pytest tests

cache: "pip"
version: "latest"
- name: Set up Python
run: uv python install 3.12
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why did you switch from 3.13 to 3.12? Perhaps a new issue to bump to 3.14 but not revert

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's because I use Python 3.12, I just updated my local and the teahouse.yml to use 3.13. So everything should use 3.13 right?

</div>
<div class="footer-bottom">
<small>&copy; 2025 Black Python Devs</small>
<small>&copy; 2026 Black Python Devs</small>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a minor change but still out of scope. Please file an issue for this (perhaps instead of hardcoding the year have it fetch the current date and get the year)

Copy link
Author

@danielcristho danielcristho Jan 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've reverted it back to 2025. I just realized that the year should be updated via app.py (where it's set dynamically), not hardcoded in footer.html.

I think we should use the {{ year }} variable instead:

<small>&copy; 2025 Black Python Devs</small> -> <small>&copy; {{ year }} Black Python Devs</small>

I'll open a separate issue to address this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I really like the accessibility add! Great work

Copy link
Contributor

@kjaymiller kjaymiller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mentioned that the tests were failing can you try running the tests with more verbose logging to troubleshoot the issues. I don't want to approve the PR without a clear understanding of what the remaining issues are.

@danielcristho
Copy link
Author

I reran the test suite with verbose logging to investigate the failures. Most of the failures are test-related issues introduced during the migration from Jekyll to Render Engine .

Test fixed:

  • Updated the email link selector from email to [email protected]
  • Fixed the blog description test to match the actual HTML structure (article elements instead of p.post-description
  • Corrected title format expectations to match actual output ('Page | Black Python Devs' instead of 'Black Python Devs | Page')

Remaining issues:

  • Blog post URL generation tests still assume filename-based URLs (e.g. /blog/2024-05-25-filename.html), while the Render Engine generates title-based slugs (e.g. /blog/title-based-slug.html) -> 29 failing tests
  • Missing language attribute: pages currently render lang="" instead of lang="en"
  • I still need to verify whether there are any accessibility issues beyond test assumptions

Let me know how you'd like to proceed on the remaining items.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants