diff --git a/spec/controllers/filters/statuses_controller_spec.rb b/spec/controllers/filters/statuses_controller_spec.rb deleted file mode 100644 index 7bad4035710..00000000000 --- a/spec/controllers/filters/statuses_controller_spec.rb +++ /dev/null @@ -1,45 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe Filters::StatusesController do - render_views - - describe 'GET #index' do - let(:filter) { Fabricate(:custom_filter) } - - context 'with signed out user' do - it 'redirects' do - get :index, params: { filter_id: filter } - - expect(response).to be_redirect - end - end - - context 'with a signed in user' do - context 'with the filter user signed in' do - before do - sign_in(filter.account.user) - get :index, params: { filter_id: filter } - end - - it 'returns http success and private cache control headers' do - expect(response).to have_http_status(200) - - expect(response.headers['Cache-Control']).to include('private, no-store') - end - end - - context 'with another user signed in' do - before do - sign_in(Fabricate(:user)) - get :index, params: { filter_id: filter } - end - - it 'returns http not found' do - expect(response).to have_http_status(404) - end - end - end - end -end diff --git a/spec/requests/filters/statuses_spec.rb b/spec/requests/filters/statuses_spec.rb index aa1d049da71..b462b56223f 100644 --- a/spec/requests/filters/statuses_spec.rb +++ b/spec/requests/filters/statuses_spec.rb @@ -16,4 +16,30 @@ RSpec.describe 'Filters Statuses' do .to redirect_to(edit_filter_path(filter)) end end + + describe 'GET /filters/:filter_id/statuses' do + let(:filter) { Fabricate(:custom_filter) } + + context 'with signed out user' do + it 'redirects' do + get filter_statuses_path(filter) + + expect(response) + .to be_redirect + end + end + + context 'with a signed in user' do + context 'with another user signed in' do + before { sign_in(Fabricate(:user)) } + + it 'returns http not found' do + get filter_statuses_path(filter) + + expect(response) + .to have_http_status(404) + end + end + end + end end diff --git a/spec/system/filters/statuses_spec.rb b/spec/system/filters/statuses_spec.rb new file mode 100644 index 00000000000..b353bd8674a --- /dev/null +++ b/spec/system/filters/statuses_spec.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'Filters Statuses' do + describe 'Viewing statuses under a filter' do + let(:filter) { Fabricate(:custom_filter, title: 'good filter') } + + context 'with the filter user signed in' do + before { sign_in(filter.account.user) } + + it 'returns a page with the status filters' do + visit filter_statuses_path(filter) + + expect(page) + .to have_private_cache_control + .and have_title(/good filter/) + end + end + end +end