Splits long lines in more readable ones
Those tests have too long lines. We have to split the to have more readable ones. This is based on a real project with Ruby and RSpec.
Start file
require 'spec_helper' describe ContentsController, type: :controller do before :each do set_request_on_domain :domain_test sign_in users(:admin) end describe '#update_categories' do let(:content) { contents(:adsl_cancel_question).set(intervention: nil) } it 'is success' do put :update_categories, id: content.id, category_ids: [categories(:mobile).id, categories(:technical).id], thread_id: content_threads(:adsl_cancel).id expect(response).to be_success expect(response.body).to be_blank end it 'is success if mandatory categories are not specified' do expect { put :update_categories, id: content.id, category_ids: [], thread_id: content_threads(:adsl_cancel).id }.to_not change { content } expect(response).to be_success end it 'updates categories' do expect { put :update_categories, id: content.id, category_ids: [categories(:mobile).id, categories(:technical).id], thread_id: content_threads(:adsl_cancel).id }.to change { content.reload.categories.to_a.sort }.from(array_including([categories(:internet), categories(:sales)])).to(array_including([categories(:technical), categories(:mobile)])) end it 'sets categories' do expect { put :update_categories, id: contents(:new_smartphone).id, category_ids: [categories(:mobile).id, categories(:technical).id], thread_id: content_threads(:new_smartphone).id }.to change { contents(:new_smartphone).reload.categories.to_a.sort }.from([]).to([categories(:technical), categories(:mobile)]) end end end
End file
require 'spec_helper' describe ContentsController, type: :controller do before :each do set_request_on_domain :domain_test sign_in users(:admin) end describe '#update_categories' do let(:content) { contents(:adsl_cancel_question).set(intervention: nil) } it 'is success' do put :update_categories, id: content.id, category_ids: [categories(:mobile).id, categories(:technical).id], thread_id: content_threads(:adsl_cancel).id expect(response).to be_success expect(response.body).to be_blank end it 'is success if mandatory categories are not specified' do expect { put :update_categories, id: content.id, category_ids: [], thread_id: content_threads(:adsl_cancel).id }.to_not change { content } expect(response).to be_success end it 'updates categories' do expect { put :update_categories, id: content.id, category_ids: [categories(:mobile).id, categories(:technical).id], thread_id: content_threads(:adsl_cancel).id }.to change { content.reload.categories.to_a.sort } .from(array_including([categories(:internet), categories(:sales)])) .to(array_including([categories(:technical), categories(:mobile)])) end it 'sets categories' do expect { put :update_categories, id: contents(:new_smartphone).id, category_ids: [categories(:mobile).id, categories(:technical).id], thread_id: content_threads(:new_smartphone).id }.to change { contents(:new_smartphone).reload.categories.to_a.sort } .from([]) .to([categories(:technical), categories(:mobile)]) end end end
View Diff
13c13,16 < put :update_categories, id: content.id, category_ids: [categories(:mobile).id, categories(:technical).id], thread_id: content_threads(:adsl_cancel).id --- > put :update_categories, > id: content.id, > category_ids: [categories(:mobile).id, categories(:technical).id], > thread_id: content_threads(:adsl_cancel).id 20c23,26 < put :update_categories, id: content.id, category_ids: [], thread_id: content_threads(:adsl_cancel).id --- > put :update_categories, > id: content.id, > category_ids: [], > thread_id: content_threads(:adsl_cancel).id 27,28c33,39 < put :update_categories, id: content.id, category_ids: [categories(:mobile).id, categories(:technical).id], thread_id: content_threads(:adsl_cancel).id < }.to change { content.reload.categories.to_a.sort }.from(array_including([categories(:internet), categories(:sales)])).to(array_including([categories(:technical), categories(:mobile)])) --- > put :update_categories, > id: content.id, > category_ids: [categories(:mobile).id, categories(:technical).id], > thread_id: content_threads(:adsl_cancel).id > }.to change { content.reload.categories.to_a.sort } > .from(array_including([categories(:internet), categories(:sales)])) > .to(array_including([categories(:technical), categories(:mobile)])) 33,34c44,50 < put :update_categories, id: contents(:new_smartphone).id, category_ids: [categories(:mobile).id, categories(:technical).id], thread_id: content_threads(:new_smartphone).id < }.to change { contents(:new_smartphone).reload.categories.to_a.sort }.from([]).to([categories(:technical), categories(:mobile)]) --- > put :update_categories, > id: contents(:new_smartphone).id, > category_ids: [categories(:mobile).id, categories(:technical).id], > thread_id: content_threads(:new_smartphone).id > }.to change { contents(:new_smartphone).reload.categories.to_a.sort } > .from([]) > .to([categories(:technical), categories(:mobile)])
Solutions
The best way to learn is to practice. Below, you will find some of the solutions other golfers have entered. To unlock higher ranked solutions, submit your own entry which does as well or better than the solutions you can currently see - climb the ladder!
Check out these helpful resources to improve your Vim skills... Game on.
Unlock 5 remaining solutions by signing in and submitting your own entry