statuses_controller_spec.rb 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # frozen_string_literal: true
  2. require 'rails_helper'
  3. describe Filters::StatusesController do
  4. render_views
  5. describe 'GET #index' do
  6. let(:filter) { Fabricate(:custom_filter) }
  7. context 'with signed out user' do
  8. it 'redirects' do
  9. get :index, params: { filter_id: filter }
  10. expect(response).to be_redirect
  11. end
  12. end
  13. context 'with a signed in user' do
  14. context 'with the filter user signed in' do
  15. before do
  16. sign_in(filter.account.user)
  17. get :index, params: { filter_id: filter }
  18. end
  19. it 'returns http success' do
  20. expect(response).to have_http_status(200)
  21. end
  22. it 'returns private cache control headers' do
  23. expect(response.headers['Cache-Control']).to include('private, no-store')
  24. end
  25. end
  26. context 'with another user signed in' do
  27. before do
  28. sign_in(Fabricate(:user))
  29. get :index, params: { filter_id: filter }
  30. end
  31. it 'returns http not found' do
  32. expect(response).to have_http_status(404)
  33. end
  34. end
  35. end
  36. end
  37. end