Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions lib/tiny_admin/settings.rb
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,9 @@ def load_settings
end

def reset!
saved_authorization_class = @options ? @options[:authorization_class] : nil
@options = {
sections: [],
authorization_class: saved_authorization_class
components: {},
sections: []
}
@store = nil
@loaded = false
Expand Down
4 changes: 4 additions & 0 deletions spec/dummy_rails/app/models/post.rb
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ class Post < ApplicationRecord
# "<<<#{super}>>>"
# end

def to_s
"#{title} - #{dt}"
end

def short_title(**args)
title.truncate(args[:count] || 10)
end
Expand Down
9 changes: 1 addition & 8 deletions spec/features/plugins/authorization_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,9 @@
RSpec.describe "Authorization plugin", type: :feature do
let(:root_content) { "Latest authors\nLatest posts" }

around do |example|
before do
TinyAdmin.settings.load_settings
prev_value = TinyAdmin.settings.authorization_class
TinyAdmin.settings.authorization_class = some_class
example.run
ensure
TinyAdmin.settings.authorization_class = prev_value
end

before do
visit "/admin"
log_in
end
Expand Down
11 changes: 0 additions & 11 deletions spec/lib/tiny_admin/configure_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,6 @@
RSpec.describe "TinyAdmin.configure" do # rubocop:disable RSpec/DescribeClass
let(:settings) { TinyAdmin::Settings.instance }

around do |example|
saved = settings.instance_variable_get(:@options)&.deep_dup
saved_store = settings.instance_variable_get(:@store)
saved_loaded = settings.instance_variable_get(:@loaded)
example.run
ensure
settings.instance_variable_set(:@options, saved)
settings.instance_variable_set(:@store, saved_store)
settings.instance_variable_set(:@loaded, saved_loaded)
end

it "yields settings to the block" do
yielded = nil
TinyAdmin.configure { |s| yielded = s }
Expand Down
12 changes: 0 additions & 12 deletions spec/lib/tiny_admin/settings_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,6 @@
RSpec.describe TinyAdmin::Settings do
let(:settings) { described_class.instance }

# Save and restore the internal options state around each test
around do |example|
saved_options = settings.instance_variable_get(:@options)&.deep_dup
saved_store = settings.instance_variable_get(:@store)
saved_loaded = settings.instance_variable_get(:@loaded)
example.run
ensure
settings.instance_variable_set(:@options, saved_options)
settings.instance_variable_set(:@store, saved_store)
settings.instance_variable_set(:@loaded, saved_loaded)
end

describe "#reset!" do
it "clears all options" do
settings[:root_path] = "/custom"
Expand Down
10 changes: 1 addition & 9 deletions spec/lib/tiny_admin/utils_prepare_page_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,8 @@
let(:utils_instance) { Class.new { include TinyAdmin::Utils }.new }
let(:settings) { TinyAdmin::Settings.instance }

around do |example|
saved = settings.instance_variable_get(:@options)&.deep_dup
saved_store = settings.instance_variable_get(:@store)
saved_loaded = settings.instance_variable_get(:@loaded)
before do
settings.load_settings
example.run
ensure
settings.instance_variable_set(:@options, saved)
settings.instance_variable_set(:@store, saved_store)
settings.instance_variable_set(:@loaded, saved_loaded)
end

it "returns an instance of the given page class" do
Expand Down
1 change: 0 additions & 1 deletion spec/rails_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
config.include_context "Capybara helpers"

config.before(:each, type: :feature) do
TinyAdmin.settings.reset!
TinyAdmin.configure_from_file(Rails.root.join("config/tiny_admin.yml"))
end
end
4 changes: 4 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,8 @@
config.mock_with :rspec do |mocks|
mocks.verify_partial_doubles = true
end

config.before do
TinyAdmin.settings.reset!
end
end
Loading