We use cookies to improve your experience. No personal information is gathered and we don't serve ads. Cookies Policy.

ExpressionEngine Logo ExpressionEngine
Features Pricing Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University
Log In or Sign Up
Log In Sign Up
ExpressionEngine Logo
Features Pro new Support Find A Developer
Partners Upgrades
Blog Add-Ons Learn
Docs Forums University Blog

Tests, tests, and more tests

6/4/2020   /   By Tom Jaeger

In ExpressionEngine 6 one of the big changes is a move away from member groups, to role base permissions. As such this is an area we’re working hard to ensure doesn’t present issues for existing sites, users, and existing permissions built out for users and member groups in templates when updating.

When working on the core integrations tests, we quickly realized that the existing tests, while working well, were difficult to maintain. Most specifically when we were faced with the task of updating them to work on the upcoming 6.0 release. After much discussion we decided it was time to re-write them.

Writing tests isn’t always fun or fast. But implementing them correctly allows us to catch and mitigate errors before they hit production, an effective way to mitigate pain and frustration all around. Tests also allow us to iterate on the ExpressionEngine core much faster with a higher level of confidence that our changes didn’t have “unintentional consequences”

It wasn’t an easy decision or task to the re-write the old ExpressionEngine tests into Cypress. But doing so allows us to more easily:

  • Test against 6 different versions of PHP
  • Run tests in parallel (greatly reducing the time needed to run tests)
  • Migrate them to github actions
  • Ultimately run them against our updated ExpressionEngine version 6 code.

In addition to this, it’s allowing us to better test the change from member_groups to role based permissions. Specifically when upgrading an existing ExpressionEngine site to version 6.

Re-writing these tests hasn’t been a small undertaking, but one we decided was needed to allow us to move the ExpressionEngine core forward at a faster and more reliable pace.

A special thanks for this effort goes out to Brad Akin, Yuri Salimovskiy and Bryan Nielsen for jumping into this effort.

ExpressionEngine Home Features Pro Contact Version Support
Learn Docs University Forums
Resources Support Add-Ons Partners Blog
Privacy Terms Trademark Use License

Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.