Ideally, we'd want to share all our Behat feature files between Panopoly 1.x for Drupal 7 and Panopoly 2.x for Drupal 8.

Here's the proposed plan:

  1. #2495739: Evaluate custom Behat steps and move them upstream: Refactoring as much code out of panopoly_test/tests/steps as possible (in Drupal 7 mainly, but also 8), so that there's only minimal code there. Those files can't ever contain both D7 and D8 code because *.behat.inc files are always loaded.
  2. #2854260: Port any Behat tests from Panopoly 1 that still apply to Panopoly 2
  3. Tag any tests that are specific to Panopoly 1.x with @panopoly1 or Panopoly 2.x with @panopoly2 and assume any untagged tess will work with both. At the moment, we assume everything is Panopoly 1.x and only run tests tagged with panopoly2 in Drupal 8, but that's not future-focused
  4. Create custom steps that abstract away the specifics that diverge between Drupal 7 and Drupal 8. At best, these should be high-level enough to make sense for both, but if not, we should base the steps on the Drupal 8 model because that is the future
  5. Once the pool of features can be completely shared, we should always synchronize any changes to both versions of the panopoly_test module

Comments

dsnopek created an issue.

dsnopek’s picture

I'm not sure it really makes sense to try and share tests between D7 and D8. If the tests in D7 were actively being worked on all the time, sure, then we'd want to try and keep them in sync. But since that isn't the case, we can probably just port the tests to D8 and have them be totally separate.