Request tests are end to end tests that imitate the behavior of a user.
it 'allows the user to set their preferences' do
check 'Ruby'
click_on 'Save and Continue'
expect(user.languages).to eq ['Ruby']
end
This kind of test focuses on user flows and runs through all layers of the system sometimes even rendering javascript.