* Move some tests of User into Settings::ScopedSettings * Add a test for User@settingsmaster
parent
7d7df877ef
commit
19e8b861a2
@ -0,0 +1,35 @@ |
|||||||
|
# frozen_string_literal: true |
||||||
|
|
||||||
|
require 'rails_helper' |
||||||
|
|
||||||
|
RSpec.describe Settings::ScopedSettings do |
||||||
|
let(:object) { Fabricate(:user) } |
||||||
|
let(:scoped_setting) { described_class.new(object) } |
||||||
|
let(:val) { 'whatever' } |
||||||
|
let(:methods) { %i(auto_play_gif default_sensitive unfollow_modal boost_modal delete_modal reduce_motion system_font_ui noindex theme) } |
||||||
|
|
||||||
|
describe '.initialize' do |
||||||
|
it 'sets @object' do |
||||||
|
scoped_setting = described_class.new(object) |
||||||
|
expect(scoped_setting.instance_variable_get(:@object)).to be object |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
describe '#method_missing' do |
||||||
|
it 'sets scoped_setting.method_name = val' do |
||||||
|
methods.each do |key| |
||||||
|
scoped_setting.send("#{key}=", val) |
||||||
|
expect(scoped_setting.send(key)).to eq val |
||||||
|
end |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
describe '#[]= and #[]' do |
||||||
|
it 'sets [key] = val' do |
||||||
|
methods.each do |key| |
||||||
|
scoped_setting[key] = val |
||||||
|
expect(scoped_setting[key]).to eq val |
||||||
|
end |
||||||
|
end |
||||||
|
end |
||||||
|
end |
Loading…
Reference in new issue