From f776eda732e9b0ffb7db966bfa478f6e11b9fcdf Mon Sep 17 00:00:00 2001 From: Ben Johnson Date: Tue, 13 Sep 2016 20:39:21 -0400 Subject: [PATCH] Update gemspec name --- .../organizations/action_controller_spec.rb | 49 ++++++++++++++ .../contexts/users/action_controller_spec.rb | 65 +++++++++++++++++++ timber-io.gemspec => timberio.gemspec | 2 +- 3 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 spec/timber/contexts/organizations/action_controller_spec.rb create mode 100644 spec/timber/contexts/users/action_controller_spec.rb rename timber-io.gemspec => timberio.gemspec (95%) diff --git a/spec/timber/contexts/organizations/action_controller_spec.rb b/spec/timber/contexts/organizations/action_controller_spec.rb new file mode 100644 index 00000000..b1e55faf --- /dev/null +++ b/spec/timber/contexts/organizations/action_controller_spec.rb @@ -0,0 +1,49 @@ +require "spec_helper" + +describe Timber::Contexts::Organizations::ActionController do + around(:each) do |example| + class PagesController < ActionController::Base + layout nil + + def index + render json: {} + end + + def method_for_action(action_name) + action_name + end + + private + def current_organization + # I want this to execute a query and test logging that query + Organization.first + end + end + + example.run + + Object.send(:remove_const, :PagesController) + end + + let(:context) { described_class.new(PagesController.new) } + + describe "#name" do + subject { context.name } + it { should be_nil } + + context "with an organization" do + before(:each) { Organization.create!(name: "Timber") } + it { should eq("Timber") } + + context "with an organization context" do + around(:each) do |example| + Timber::CurrentContext.add(context) do + example.run + end + end + + it { should eq("Timber") } + end + end + end +end \ No newline at end of file diff --git a/spec/timber/contexts/users/action_controller_spec.rb b/spec/timber/contexts/users/action_controller_spec.rb new file mode 100644 index 00000000..36c1fcfd --- /dev/null +++ b/spec/timber/contexts/users/action_controller_spec.rb @@ -0,0 +1,65 @@ +require "spec_helper" + +describe Timber::Contexts::Users::ActionController do + around(:each) do |example| + class PagesController < ActionController::Base + layout nil + + def index + render json: {} + end + + def method_for_action(action_name) + action_name + end + + private + def current_user + # I want this to execute a query and test logging that query + @user ||= User.first + end + end + + example.run + + Object.send(:remove_const, :PagesController) + + Timber::Probes::ActiveSupportLogSubscriber.insert! + end + + let(:context) { described_class.new(PagesController.new) } + + describe "#email" do + subject { context.email } + it { should be_nil } + + context "with a user" do + before(:each) { User.create!(email: "a@a.com") } + it { should eq("a@a.com") } + + context "with a user context" do + around(:each) do |example| + Timber::CurrentContext.add(context) do + example.run + end + end + + it { should eq("a@a.com") } + + context "with a debug log level" do + around(:each) do |example| + old_level = ::Rails.logger.level + ::Rails.logger.level = ::Logger::DEBUG + example.run + ::Rails.logger.level = old_level + end + + # If the user object is not cached, it will create an infinite loop. + # This is because getting the user executes a query, which in turn creates + # logs, with tries to grab the user again, etc. + it { should eq("a@a.com") } + end + end + end + end +end \ No newline at end of file diff --git a/timber-io.gemspec b/timberio.gemspec similarity index 95% rename from timber-io.gemspec rename to timberio.gemspec index 6fed3731..d7b0a29c 100644 --- a/timber-io.gemspec +++ b/timberio.gemspec @@ -3,7 +3,7 @@ $LOAD_PATH.push File.expand_path("../lib", __FILE__) require "timber/version" Gem::Specification.new do |s| - s.name = "timber-io" + s.name = "timberio" s.version = Timber::VERSION s.platform = Gem::Platform::RUBY s.authors = ["Timber Technologies, Inc."]