<div dir="ltr"><br><div>I thought it might be useful to outline how I go about updating a repository for RSpec3 and refactoring along the way:</div><div><br></div><div>Find a file to update</div><div>* in your shell, navigate to tests/browser/features/step_definitions</div><div>* grep -r "should" *</div><div>* identify a steps.rb file with old-style RSpec assertions</div><div>* open that file in your editor</div><div><br></div><div>Check the steps in the file</div><div>* in your shell, navigate to /tests/browser</div><div>* for each line in the file identified above, do "grep -r "the string in the step""</div><div>** identify all of the Features that use the step</div><div>** make sure that all the Given steps are marked Given</div><div>** make sure that all the When steps are marked When</div><div>** make sure that the Then steps all contain RSpec assertions</div><div>*** make sure that the Then steps are not being used as When</div><div><br></div><div>Make updates to steps file</div><div>* put all of the Given steps in alphabetical order, the When steps, and the Then steps</div><div>* if the step is not used in any Feature, delete the step from the file</div><div>** if the deleted step uses a page element not used by other steps, delete that element from the page object</div><div>* if the description of the step is different than what the step actually does, fix that</div><div>* if a Then step is being used as a When step, fix that</div><div>* 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"</div><div>** alphabetize the steps with the new text if necessary</div><div>** update each Feature/Scenario that uses the step to the new text</div><div>* finally, update the assertions in each Then step to use RSpec3 "expect" syntax</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 2, 2014 at 4:21 PM, Chris McMahon <span dir="ltr"><<a href="mailto:cmcmahon@wikimedia.org" target="_blank">cmcmahon@wikimedia.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div>Hi Jagori, </div><div><br></div><div>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:</div><div><br></div><div><div>GettingStarted</div><div>Math</div><div>mediawiki/core</div><div>PageTriage</div><div>WikiLove</div></div><div><br></div><div>Start with those five and then let's review what should go next. </div><div><br></div><div>Thanks! </div><span class="HOEnZb"><font color="#888888"><div>-Chris </div><div><br></div><div> </div><div><br></div><div><br></div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 2, 2014 at 4:01 PM, jagori samajdar <span dir="ltr"><<a href="mailto:jagori79@gmail.com" target="_blank">jagori79@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hi Chris ,<br></div><div>Thanks for letting me know.<br></div><div>I would start off with ArticleFeedbackv5 ,would go serially from top,leaving the ones you have already worked upon.<br></div><div>Sure would let you know if I get stuck somewhere.<br></div><div>Thanks,<br>Jagori<br></div><div><br></div><br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Tue, Dec 2, 2014 at 2:23 AM, Chris McMahon <span dir="ltr"><<a href="mailto:cmcmahon@wikimedia.org" target="_blank">cmcmahon@wikimedia.org</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 27, 2014 at 3:54 PM, jagori samajdar <span dir="ltr"><<a href="mailto:jagori79@gmail.com" target="_blank">jagori79@gmail.com</a>></span> wrote:<br><div><br></div><div>Hi Jagori, </div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>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 : <a href="https://github.com/wikimedia/mediawiki-selenium#links" target="_blank">https://github.com/wikimedia/mediawiki-selenium#links</a>?</div></div></blockquote><div><br></div></span><div>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. </div><div><br></div><div>Let me know if I can help... </div><span><font color="#888888"><div><br></div><div>-Chris </div></font></span></div></div></div>
<br></div></div><span>_______________________________________________<br>
QA mailing list<br>
<a href="mailto:QA@lists.wikimedia.org" target="_blank">QA@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/qa" target="_blank">https://lists.wikimedia.org/mailman/listinfo/qa</a><br>
<br></span></blockquote></div><br></div>
<br>_______________________________________________<br>
QA mailing list<br>
<a href="mailto:QA@lists.wikimedia.org" target="_blank">QA@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/qa" target="_blank">https://lists.wikimedia.org/mailman/listinfo/qa</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>