nas/spec/requests/user_custom_css_spec.rb
2024-09-09 07:46:44 +09:00

48 lines
1.2 KiB
Ruby

# frozen_string_literal: true
require 'rails_helper'
RSpec.describe 'User custom CSS' do
let(:user) { Fabricate(:user) }
let(:custom_css) { '* { display: none !important; }' }
describe 'GET /user_custom.css' do
context 'without sign in' do
it 'returns 422' do
get '/user_custom.css'
expect(response).to have_http_status(401)
end
end
context 'with sign in but custom css is not enabled' do
before do
user.update!(custom_css_text: custom_css)
sign_in user
end
it 'returns custom css' do
get '/user_custom.css'
expect(response).to have_http_status(200)
expect(response.content_type).to include 'text/css'
expect(response.body.strip).to eq custom_css
end
end
context 'with sign in and custom css is enabled' do
before do
user.update!(custom_css_text: custom_css, settings: { 'web.use_custom_css': true })
sign_in user
end
it 'returns custom css' do
get '/user_custom.css'
expect(response).to have_http_status(200)
expect(response.content_type).to include 'text/css'
expect(response.body.strip).to eq custom_css
end
end
end
end