[QA] Reg::New issue search in Phabricator

Chris McMahon cmcmahon at wikimedia.org
Thu Dec 4 17:11:20 UTC 2014


I thought it might be useful to outline how I go about updating a
repository for RSpec3 and refactoring along the way:

Find a file to update
* in your shell, navigate to tests/browser/features/step_definitions
* grep -r "should" *
* identify a steps.rb file with old-style RSpec assertions
* open that file in your editor

Check the steps in the file
* in your shell, navigate to /tests/browser
* for each line in the file identified above, do "grep -r "the string in
the step""
** identify all of the Features that use the step
** make sure that all the Given steps are marked Given
** make sure that all the When steps are marked When
** make sure that the Then steps all contain RSpec assertions
*** make sure that the Then steps are not being used as When

Make updates to steps file
* put all of the Given steps in alphabetical order, the When steps, and the
Then steps
* if the step is not used in any Feature, delete the step from the file
** if the deleted step uses a page element not used by other steps, delete
that element from the page object
* if the description of the step is different than what the step actually
does, fix that
* if a Then step is being used as a When step, fix that
* the text of each Then step should contain the word "should". If it does
not, fix that, e.g. change "Then I see X" to "Then I should see X"
** alphabetize the steps with the new text if necessary
** update each Feature/Scenario that uses the step to the new text
* finally, update the assertions in each Then step to use RSpec3 "expect"
syntax



On Tue, Dec 2, 2014 at 4:21 PM, Chris McMahon <cmcmahon at wikimedia.org>
wrote:

>
> Hi Jagori,
>
> Some of these repos may pose problems.  For example, ArticleFeedbackv5 is
> dead code and the feature itself is no longer enabled in any test
> environments.   Here is a list I would suggest for you:
>
> GettingStarted
> Math
> mediawiki/core
> PageTriage
> WikiLove
>
> Start with those five and then let's review what should go next.
>
> Thanks!
> -Chris
>
>
>
>
>
> On Tue, Dec 2, 2014 at 4:01 PM, jagori samajdar <jagori79 at gmail.com>
> wrote:
>
>> Hi Chris ,
>> Thanks for letting me know.
>> I would start off with ArticleFeedbackv5 ,would go serially from
>> top,leaving the ones you have already worked upon.
>> Sure would let you know if I get stuck somewhere.
>> Thanks,
>> Jagori
>>
>>
>>
>> On Tue, Dec 2, 2014 at 2:23 AM, Chris McMahon <cmcmahon at wikimedia.org>
>> wrote:
>>
>>>
>>>
>>> On Thu, Nov 27, 2014 at 3:54 PM, jagori samajdar <jagori79 at gmail.com>
>>> wrote:
>>>
>>> Hi Jagori,
>>>
>>>
>>>> Also,would you suggest any specific repository where I should start
>>>> making the rspec-expectation 'expect' syntax changes or should I just
>>>> choose and start from the list :
>>>> https://github.com/wikimedia/mediawiki-selenium#links?
>>>>
>>>
>>> I've already done Echo, Flow, and VisualEditor, and I am working on
>>> MobileFrontend right now. It would be nice if you could pick up some of the
>>> others.
>>>
>>> Let me know if I can help...
>>>
>>> -Chris
>>>
>>> _______________________________________________
>>> QA mailing list
>>> QA at lists.wikimedia.org
>>> https://lists.wikimedia.org/mailman/listinfo/qa
>>>
>>>
>>
>> _______________________________________________
>> QA mailing list
>> QA at lists.wikimedia.org
>> https://lists.wikimedia.org/mailman/listinfo/qa
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.wikimedia.org/pipermail/qa/attachments/20141204/786d3cdd/attachment.html>


More information about the QA mailing list