<div dir="ltr"><div>The last rubocop failure in Flow is<br><pre class=""><span class=""></span>Offenses:
<span class=""> </span>tests/browser/features/support/pages/flow_page.rb:5:1: C: Class definition is too long. [169/165]
<span class=""> </span>class FlowPage < WikiPage<br></pre></div><div>enforced by:<font> </font>.rubocop_todo.yml's<br></div><font><span style="font-family:courier new,monospace"></span></font><div><span style="font-family:courier new,monospace"><font>Metrics/ClassLength:<br> Max: 165</font><br></span><br></div><div>1. Do we want to enforce a max class length or not? The suggested base configuration in <a href="https://www.mediawiki.org/wiki/Manual:Coding_conventions/Ruby#RuboCop">https://www.mediawiki.org/wiki/Manual:Coding_conventions/Ruby#RuboCop</a> disables it:<br><pre class=""><span class=""><font>Metrics/ClassLength</font></span><font>:<span class="">
Enabled</span><span class="">: </span>false</font></pre><br>2. Yes, the flow_page class is big, because it defines a lot of page elements. I would like separate groups in the file for flow_topic_buttons, flow_moderation_dialog, etc. because our recommendation[1] to alphabetize it pushes these groups far apart. Is there an example of refactoring a page object that would make sense to a r00by nuby?<br><br></div><div>(In the meantime, <a href="https://gerrit.wikimedia.org/r/#/c/175783/">https://gerrit.wikimedia.org/r/#/c/175783/</a> disables Max ClassLength for this class.)<br></div><div><br>[1] <a href="https://www.mediawiki.org/wiki/Quality_Assurance/Browser_testing/Writing_tests#Page_Objects">https://www.mediawiki.org/wiki/Quality_Assurance/Browser_testing/Writing_tests#Page_Objects</a><br><pre class=""><span class=""> </span>tests/browser/features/support/pages/flow_page.rb:5:1: C: Class definition is too long. [169/165]
<span class=""> </span>class FlowPage < WikiPage</pre><div class="gmail_extra">--<br><div class="gmail_signature"><div dir="ltr">=S Page Features engineer<br></div></div>
</div></div></div>