While working on T160238, I propose we split into groups for maximum effectiveness.
This task deals with the QuickSurveys extension.
- Feature: Survey bucketing (opting in)
- Scenario: Internal survey is visible when bucketed # tests/browser/features/bucketing.feature:14
- Scenario: External survey is visible when bucketed # tests/browser/features/bucketing.feature:22
- Feature: External surveys
- Scenario: External survey is visible with flag #
- Scenario: External survey is not present without flag when not bucketed
- Scenario: External survey is not present when dismissed # tests/browser/features/external_survey.feature:21
- Scenario: User can participate in external survey # tests/browser/features/external_survey.feature:27
- Feature: Integration
- Scenario: Survey is visible with quicksurvey=true flag # tests/browser/features/integration.feature:6
- Feature: Internal surveys
- Scenario: Internal survey has multiple answers #
- Scenario: Internal survey is visible with flag #
- Scenario: Internal survey is not present without flag
- Scenario: Internal survey is not present when dismissed # tests/browser/features/internal_survey.feature:24
- Scenario: User can participate in internal survey # tests/browser/features/internal_survey.feature:30
Notes
- The mw-wdio-nodepool builder replaces the mwext-ruby-jessie builder in integration-config/zuul/layout.yaml, which will make check experimental run the new WebdriverIO-based tests.
- Put your new tests in the tests/selenium/, following the example structure in RelatedArticles.
Developer notes
🏝 443111 (mediawiki/extensions/QuickSurveys): WIP The first sample Selenium test in Node.js
There are 4 files that need porting
- bucketing.feature
- external_survey.feature
- integration.feature
- internal_survey.feature
We'll probably want to follow the approach we've considered for Minerva and take the following steps
- Port integration.feature (1 test) to Selenium and setup Ruby&Node.js browser tests side-by-side (T190710)
- Port external_survey.feature
- Port internal_survey.feature
- Port bucketing.feature