Page MenuHomePhabricator

Remove QuickSurveys browser tests written in Ruby
Closed, ResolvedPublic

Description

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

  1. 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.
  2. 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

Event Timeline

Jdlrobson renamed this task from [subtask] Rewrite QuickSurveys browser tests in Node.js to [subtask] Rewrite QuickSurveys browser tests in Node.js or remove them.Oct 4 2017, 5:10 PM
Jdlrobson lowered the priority of this task from High to Medium.Oct 4 2017, 5:21 PM
Jdlrobson moved this task from Upcoming to Tracking on the Web-Team-Backlog board.
Jdlrobson edited projects, added Web-Team-Backlog (Tracking); removed Web-Team-Backlog.
phuedx renamed this task from [subtask] Rewrite QuickSurveys browser tests in Node.js or remove them to Rewrite QuickSurveys browser tests in Node.js or remove them.Nov 28 2017, 2:33 PM
zeljkofilipin lowered the priority of this task from Medium to Low.Jun 29 2018, 4:29 PM

Change 443111 had a related patch set uploaded (by Zfilipin; owner: Zfilipin):
[mediawiki/extensions/QuickSurveys@master] WIP The first sample Selenium test in Node.js

https://gerrit.wikimedia.org/r/443111

zeljkofilipin updated the task description. (Show Details)

Change 443111 abandoned by Zfilipin:
WIP The first sample Selenium test in Node.js

Reason:
No activity in months.

https://gerrit.wikimedia.org/r/443111

Jdlrobson renamed this task from Rewrite QuickSurveys browser tests in Node.js or remove them to Rewrite QuickSurveys browser tests in Node.js.Oct 16 2018, 9:37 PM
Jdlrobson raised the priority of this task from Low to Medium.

Many of the browser tests seem to repeat one another. I'm not sure if it makes sense to port all of them, but we can work that out as we take on this work.

Jdlrobson lowered the priority of this task from Medium to Low.Nov 15 2018, 6:53 PM

Change 556252 had a related patch set uploaded (by Hashar; owner: Jforrester):
[integration/config@master] jjb: rm selenium-MinervaNeue and selenium-QuickSurveys

https://gerrit.wikimedia.org/r/556252

Change 556252 merged by jenkins-bot:
[integration/config@master] jjb: rm selenium-MinervaNeue and selenium-QuickSurveys

https://gerrit.wikimedia.org/r/556252

Jdlrobson added a subscriber: Edtadros.

@zeljkofilipin @Edtadros shall we remove the browser tests from QuickSurveys? IMO I'm not sure we're getting much benefit from the browser tests we have. That said maybe it's trivial to rewrite the tests we do have in Node.js

@Jdlrobson it's not trivial to rewrite tests. If you think existing Ruby tests don't provide value, let's delete them.

@Edtadros what do you think?

Change 604402 had a related patch set uploaded (by Edward Tadros; owner: Edward Tadros):
[mediawiki/extensions/QuickSurveys@master] Selenium: Delete Ruby tests

https://gerrit.wikimedia.org/r/604402

Change 604414 had a related patch set uploaded (by Edward Tadros; owner: Edward Tadros):
[integration/config@master] Delete Ruby jobs for QuickSurveys

https://gerrit.wikimedia.org/r/604414

Change 604414 merged by jenkins-bot:
[integration/config@master] Delete Ruby jobs for QuickSurveys

https://gerrit.wikimedia.org/r/604414

Mentioned in SAL (#wikimedia-releng) [2020-06-10T15:18:41Z] <James_F> Zuul: [mediawiki/extensions/QuickSurveys] Stop running ruby jobs T177261

Change 604402 merged by jenkins-bot:
[mediawiki/extensions/QuickSurveys@master] Selenium: Delete Ruby tests

https://gerrit.wikimedia.org/r/604402

@Jdlrobson, after discussing this with @zeljkofilipin we decided the best course of action would be to remove them. I will set up some time to discuss how/if you would like to proceed with the QuickSurveys automation moving forward

Jdlrobson renamed this task from Rewrite QuickSurveys browser tests in Node.js to Remove QuickSurveys browser tests written in Ruby.Jun 10 2020, 6:03 PM