mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-22 17:35:40 +01:00
Convert filters
spec controller->system (#33326)
This commit is contained in:
parent
a7673d361d
commit
60bb51eef8
3 changed files with 51 additions and 35 deletions
|
@ -1,34 +0,0 @@
|
||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe FiltersController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
describe 'GET #index' do
|
|
||||||
context 'with signed out user' do
|
|
||||||
before do
|
|
||||||
get :index
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'redirects' do
|
|
||||||
expect(response).to be_redirect
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
context 'with a signed in user' do
|
|
||||||
before do
|
|
||||||
sign_in(Fabricate(:user))
|
|
||||||
get :index
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http success' do
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns private cache control headers' do
|
|
||||||
expect(response.headers['Cache-Control']).to include('private, no-store')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
16
spec/requests/filters_spec.rb
Normal file
16
spec/requests/filters_spec.rb
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Filters' do
|
||||||
|
describe 'GET /filters' do
|
||||||
|
context 'with signed out user' do
|
||||||
|
it 'redirects to sign in page' do
|
||||||
|
get filters_path
|
||||||
|
|
||||||
|
expect(response)
|
||||||
|
.to redirect_to(new_user_session_path)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -8,6 +8,18 @@ RSpec.describe 'Filters' do
|
||||||
|
|
||||||
before { sign_in(user) }
|
before { sign_in(user) }
|
||||||
|
|
||||||
|
describe 'Viewing existing filters' do
|
||||||
|
before { Fabricate :custom_filter, account: user.account, phrase: 'Photography' }
|
||||||
|
|
||||||
|
it 'shows a list of user filters' do
|
||||||
|
visit filters_path
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_content('Photography')
|
||||||
|
.and have_private_cache_control
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe 'Creating a filter' do
|
describe 'Creating a filter' do
|
||||||
it 'Populates a new filter from form' do
|
it 'Populates a new filter from form' do
|
||||||
navigate_to_filters
|
navigate_to_filters
|
||||||
|
@ -16,12 +28,22 @@ RSpec.describe 'Filters' do
|
||||||
fill_in_filter_form
|
fill_in_filter_form
|
||||||
expect(page).to have_content(filter_title)
|
expect(page).to have_content(filter_title)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'Does not save with invalid values' do
|
||||||
|
navigate_to_filters
|
||||||
|
click_on I18n.t('filters.new.title')
|
||||||
|
|
||||||
|
expect { click_on I18n.t('filters.new.save') }
|
||||||
|
.to_not change(CustomFilter, :count)
|
||||||
|
expect(page)
|
||||||
|
.to have_content("can't be blank")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'Editing an existing filter' do
|
describe 'Editing an existing filter' do
|
||||||
let(:new_title) { 'Change title value' }
|
let(:new_title) { 'Change title value' }
|
||||||
|
|
||||||
before { Fabricate :custom_filter, account: user.account, title: filter_title }
|
let!(:custom_filter) { Fabricate :custom_filter, account: user.account, title: filter_title }
|
||||||
|
|
||||||
it 'Updates the saved filter' do
|
it 'Updates the saved filter' do
|
||||||
navigate_to_filters
|
navigate_to_filters
|
||||||
|
@ -33,6 +55,18 @@ RSpec.describe 'Filters' do
|
||||||
|
|
||||||
expect(page).to have_content(new_title)
|
expect(page).to have_content(new_title)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'Does not save with invalid values' do
|
||||||
|
navigate_to_filters
|
||||||
|
click_on filter_title
|
||||||
|
|
||||||
|
fill_in filter_title_field, with: ''
|
||||||
|
|
||||||
|
expect { click_on submit_button }
|
||||||
|
.to_not(change { custom_filter.reload.updated_at })
|
||||||
|
expect(page)
|
||||||
|
.to have_content("can't be blank")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'Destroying an existing filter' do
|
describe 'Destroying an existing filter' do
|
||||||
|
|
Loading…
Reference in a new issue