Convert `filters/statuses` spec controller->system/request (#34232)

This commit is contained in:
Matt Jankowski 2025-03-24 04:11:34 -04:00 committed by GitHub
parent d15879312e
commit 9d3daa847a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 47 additions and 45 deletions

View File

@ -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

View File

@ -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

View File

@ -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