status_cat 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +161 -0
- data/Rakefile +31 -0
- data/app/assets/javascripts/status-cat/application.js +15 -0
- data/app/assets/stylesheets/status-cat/application.css +13 -0
- data/app/controllers/status_cat/status_controller.rb +26 -0
- data/app/helpers/status_cat/status_helper.rb +105 -0
- data/app/mailers/status_cat/status_mailer.rb +12 -0
- data/app/views/status_cat/status/index.html.erb +4 -0
- data/app/views/status_cat/status_mailer/failure.html.erb +9 -0
- data/app/views/status_cat/status_mailer/failure.text.erb +1 -0
- data/config/locales/en.yml +7 -0
- data/config/routes.rb +4 -0
- data/lib/status_cat/checkers/action_mailer.rb +31 -0
- data/lib/status_cat/checkers/active_record.rb +24 -0
- data/lib/status_cat/checkers/base.rb +36 -0
- data/lib/status_cat/checkers/delayed_job.rb +28 -0
- data/lib/status_cat/checkers/s3.rb +17 -0
- data/lib/status_cat/checkers/stripe.rb +19 -0
- data/lib/status_cat/config.rb +33 -0
- data/lib/status_cat/engine.rb +5 -0
- data/lib/status_cat/status.rb +37 -0
- data/lib/status_cat/version.rb +3 -0
- data/lib/status_cat.rb +22 -0
- data/lib/tasks/status_cat.rake +14 -0
- data/spec/controllers/status_cat/status_controller_spec.rb +36 -0
- data/spec/coverage_spec.rb +22 -0
- data/spec/data/report.txt +10 -0
- data/spec/data/report.txt.tmp +10 -0
- data/spec/data/status_report_format.txt +1 -0
- data/spec/data/status_report_format.txt.tmp +1 -0
- data/spec/dummy/README.rdoc +261 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/assets/javascripts/application.js +15 -0
- data/spec/dummy/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy/app/checkers/dummy.rb +10 -0
- data/spec/dummy/app/controllers/application_controller.rb +10 -0
- data/spec/dummy/app/controllers/root_controller.rb +20 -0
- data/spec/dummy/app/helpers/application_helper.rb +2 -0
- data/spec/dummy/app/views/layouts/admin.html.erb +14 -0
- data/spec/dummy/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy/app/views/root/index.html.erb +8 -0
- data/spec/dummy/app/views/root/mail.html.erb +1 -0
- data/spec/dummy/config/application.rb +54 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +32 -0
- data/spec/dummy/config/environments/production.rb +69 -0
- data/spec/dummy/config/environments/test.rb +33 -0
- data/spec/dummy/config/initializers/action_mailer.rb +16 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/status_cat.rb +17 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/passwords.yml +5 -0
- data/spec/dummy/config/passwords.yml.sample +5 -0
- data/spec/dummy/config/routes.rb +11 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/production.sqlite3 +0 -0
- data/spec/dummy/db/schema.rb +16 -0
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +889 -0
- data/spec/dummy/log/test.log +2474 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +25 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/D03/1A0/sprockets%2F9007913fce90a3c1766dc0d8282bd10b +0 -0
- data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/D37/670/sprockets%2Fe230d6e60a0226de8748d1e26ee741cb +0 -0
- data/spec/dummy/tmp/cache/assets/D3D/4E0/sprockets%2F999ebb6862b2b7ca1b20b765f12704ed +0 -0
- data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/DCB/210/sprockets%2Fdf0a443455a9d359be2e931ba70ecdfe +0 -0
- data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0891c389c9f47b48b695b65602d93a57 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/0edf8c53de2ee6fe74108f1ecc87e457 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/264f02aaf3a74cd5a91b5575c69b784a +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/31c22cfbb3b5f7f9e1e9a013997ad8aa +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/400d7aa6ca317151fe36fc9f02ccfc4e +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/40da66d7323888023264d2f06b7525d4 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/4bddf542ba5114155847240380cf6e7c +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/572759e0267736e8961ff1fad85cfe47 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/6cec2a8a17b78e61daecff44044e1179 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/952a706f512b208187110eff045a0e66 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/c7d1ab26b0b22ab011a9d30f44014f06 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f1ebb0ab4631911fbbdf496685d8b7a0 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/dummy/tmp/pids/server.pid +1 -0
- data/spec/helpers/status_cat/status_helper_spec.rb +101 -0
- data/spec/lib/status_cat/checkers/action_mailer_spec.rb +72 -0
- data/spec/lib/status_cat/checkers/active_record_spec.rb +45 -0
- data/spec/lib/status_cat/checkers/base_spec.rb +56 -0
- data/spec/lib/status_cat/checkers/delayed_job_spec.rb +15 -0
- data/spec/lib/status_cat/checkers/s3_spec.rb +15 -0
- data/spec/lib/status_cat/checkers/stripe_spec.rb +15 -0
- data/spec/lib/status_cat/config_spec.rb +133 -0
- data/spec/lib/status_cat/engine_spec.rb +9 -0
- data/spec/lib/status_cat/status_spec.rb +120 -0
- data/spec/lib/status_cat/version_spec.rb +11 -0
- data/spec/lib/status_cat_spec.rb +21 -0
- data/spec/lib/tasks/status_cat.rake_spec.rb +32 -0
- data/spec/mailers/status_cat/status_mailer_spec.rb +38 -0
- data/spec/spec_helper.rb +50 -0
- data/spec/support/shared/checker.rb +25 -0
- data/spec/views/status_cat/status/index.html.erb_spec.rb +25 -0
- data/spec/views/status_cat/status_mailer/failure.html.erb_spec.rb +16 -0
- data/spec/views/status_cat/status_mailer/failure.text.erb_spec.rb +15 -0
- metadata +373 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe StatusCat::Status do
|
|
4
|
+
|
|
5
|
+
#############################################################################
|
|
6
|
+
# ::all
|
|
7
|
+
#############################################################################
|
|
8
|
+
|
|
9
|
+
describe '::all' do
|
|
10
|
+
|
|
11
|
+
it 'returns an array of enabled checkers' do
|
|
12
|
+
enabled = StatusCat::Config.instance.enabled
|
|
13
|
+
StatusCat::Config.instance.should_receive( :enabled ).and_return( enabled )
|
|
14
|
+
|
|
15
|
+
all = StatusCat::Status.all
|
|
16
|
+
all.should be_an_instance_of( Array )
|
|
17
|
+
all.length.should eql( StatusCat::Checkers::Base.descendants.length )
|
|
18
|
+
all.each { |checker| checker.should be_a_kind_of( StatusCat::Checkers::Base ) }
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
#############################################################################
|
|
24
|
+
# ::check
|
|
25
|
+
#############################################################################
|
|
26
|
+
|
|
27
|
+
describe '::check' do
|
|
28
|
+
|
|
29
|
+
def checker_array_should_have_names( actual, expected )
|
|
30
|
+
actual.should be_a_kind_of( Array )
|
|
31
|
+
actual.length.should eql( expected.length )
|
|
32
|
+
actual.each_index { |i| actual[ i ].name.should be( expected[ i ] ) }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
it 'defaults to all checkers' do
|
|
36
|
+
names = StatusCat::Status.all.map { |checker| checker.name }
|
|
37
|
+
checkers = StatusCat::Status.check
|
|
38
|
+
checker_array_should_have_names( checkers, names )
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
it 'returns all checkers when :all is specified' do
|
|
42
|
+
names = StatusCat::Status.all.map { |checker| checker.name }
|
|
43
|
+
checkers = StatusCat::Status.check( :all )
|
|
44
|
+
checker_array_should_have_names( checkers, names )
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
it 'returns a single checker when given a single symbolic name' do
|
|
48
|
+
StatusCat::Status.check( :active_record ).should be_an_instance_of( StatusCat::Checkers::ActiveRecord )
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
it 'returns an array of checkers when given an array of symbolic name' do
|
|
52
|
+
names = [ :active_record, :action_mailer ]
|
|
53
|
+
checkers = StatusCat::Status.check( names )
|
|
54
|
+
checker_array_should_have_names( checkers, names )
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
#############################################################################
|
|
60
|
+
# ::cron
|
|
61
|
+
#############################################################################
|
|
62
|
+
|
|
63
|
+
describe '::cron' do
|
|
64
|
+
|
|
65
|
+
it 'delivers email if ::failed is not empty' do
|
|
66
|
+
failed = [ StatusCat::Checkers::Base.new ]
|
|
67
|
+
mail = StatusCat::StatusMailer.failure( failed )
|
|
68
|
+
StatusCat::Status.should_receive( :failed ).and_return( failed )
|
|
69
|
+
StatusCat::StatusMailer.should_receive( :failure ).with( failed ).and_return( mail )
|
|
70
|
+
StatusCat::Status.cron
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it 'does not email when ::failed is empty' do
|
|
74
|
+
StatusCat::Status.should_receive( :failed ).and_return( [] )
|
|
75
|
+
StatusCat::StatusMailer.should_not_receive( :failure )
|
|
76
|
+
StatusCat::Status.cron
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
#############################################################################
|
|
82
|
+
# ::factory
|
|
83
|
+
#############################################################################
|
|
84
|
+
|
|
85
|
+
describe '::factory' do
|
|
86
|
+
|
|
87
|
+
it 'constructs a checker given its symbolic name' do
|
|
88
|
+
StatusCat::Status.factory( :action_mailer ).should be_an_instance_of( StatusCat::Checkers::ActionMailer )
|
|
89
|
+
StatusCat::Status.factory( :active_record ).should be_an_instance_of( StatusCat::Checkers::ActiveRecord )
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
#############################################################################
|
|
95
|
+
# ::failed
|
|
96
|
+
#############################################################################
|
|
97
|
+
|
|
98
|
+
describe '::failed' do
|
|
99
|
+
|
|
100
|
+
before( :each ) do
|
|
101
|
+
@pass = StatusCat::Checkers::Base.new
|
|
102
|
+
|
|
103
|
+
@fail = StatusCat::Checkers::Base.new
|
|
104
|
+
@fail.stub!( :status ).and_return( :fail )
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
it 'returns only failed checkers from ::all' do
|
|
108
|
+
StatusCat::Status.should_receive( :all ).and_return( [ @pass, @fail ] )
|
|
109
|
+
StatusCat::Status.failed.should eql( [ @fail ] )
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
it 'returns an empty list if all checkers pass' do
|
|
113
|
+
StatusCat::Status.should_receive( :all ).and_return( [ @pass ] )
|
|
114
|
+
StatusCat::Status.failed.should eql( [] )
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
end
|
|
120
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe StatusCat do
|
|
4
|
+
|
|
5
|
+
describe '::config' do
|
|
6
|
+
|
|
7
|
+
it 'returns the configuration' do
|
|
8
|
+
StatusCat.config.should be( StatusCat::Config.instance )
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
describe '::configure' do
|
|
14
|
+
|
|
15
|
+
it 'yields the configuration' do
|
|
16
|
+
StatusCat.configure { |config| config.should be( StatusCat::Config.instance ) }
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'rake'
|
|
3
|
+
|
|
4
|
+
describe 'status_cat rake tasks' do
|
|
5
|
+
|
|
6
|
+
before( :each ) do
|
|
7
|
+
@rake = Rake::Application.new
|
|
8
|
+
Rake.application = @rake
|
|
9
|
+
Rake::Task.define_task(:environment)
|
|
10
|
+
load 'lib/tasks/status_cat.rake'
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
describe 'rake status_cat:check' do
|
|
14
|
+
|
|
15
|
+
it 'puts the status report' do
|
|
16
|
+
Kernel.should_receive( :puts ).with( kind_of( String ) )
|
|
17
|
+
@rake[ 'status_cat:check' ].invoke
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
describe 'rake status_cat:cron' do
|
|
23
|
+
|
|
24
|
+
it 'calls StatusCat::Status.cron' do
|
|
25
|
+
StatusCat::Status.should_receive( :cron )
|
|
26
|
+
@rake[ 'status_cat:cron' ].invoke
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe StatusCat::StatusMailer do
|
|
4
|
+
|
|
5
|
+
it 'adds StatusCat::StatusHelper as a template helper' do
|
|
6
|
+
modules = StatusCat::StatusMailer._helpers.included_modules
|
|
7
|
+
modules.should include( StatusCat::StatusHelper )
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
describe '#failure' do
|
|
11
|
+
|
|
12
|
+
let( :mail ) { StatusCat::StatusMailer.failure( StatusCat::Status.all ) }
|
|
13
|
+
let( :config ) { StatusCat.config }
|
|
14
|
+
|
|
15
|
+
it 'uses the configured from address' do
|
|
16
|
+
mail.from.should_not be_nil
|
|
17
|
+
mail.from.should eql( [ config.from ] )
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'uses the configured to address' do
|
|
21
|
+
mail.to.should_not be_nil
|
|
22
|
+
mail.to.should eql( [ config.to ] )
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it 'uses the configured subject' do
|
|
26
|
+
mail.subject.should_not be_nil
|
|
27
|
+
mail.subject.should eql( config.subject )
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it 'generates a multipart email with both text and html' do
|
|
31
|
+
mail.parts.first.content_type.should eql( 'text/plain; charset=UTF-8' )
|
|
32
|
+
mail.parts.second.content_type.should eql( 'text/html; charset=UTF-8' )
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# This file is copied to spec/ when you run 'rails generate rspec:install'
|
|
2
|
+
ENV['RAILS_ENV'] ||= 'test'
|
|
3
|
+
|
|
4
|
+
require 'simplecov'
|
|
5
|
+
|
|
6
|
+
SimpleCov.start 'rails' do
|
|
7
|
+
add_filter '/vendor/'
|
|
8
|
+
add_filter '/spec/'
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
require File.expand_path('../dummy/config/environment', __FILE__)
|
|
12
|
+
require 'rspec/rails'
|
|
13
|
+
require 'rspec/autorun'
|
|
14
|
+
|
|
15
|
+
require 'spec_cat'
|
|
16
|
+
|
|
17
|
+
ENGINE_ROOT = File.join(File.dirname(__FILE__), '..')
|
|
18
|
+
|
|
19
|
+
# Requires supporting ruby files with custom matchers and macros, etc,
|
|
20
|
+
# in spec/support/ and its subdirectories.
|
|
21
|
+
Dir[File.join(ENGINE_ROOT, "spec/support/**/*.rb")].each {|f| require f }
|
|
22
|
+
|
|
23
|
+
RSpec.configure do |config|
|
|
24
|
+
# ## Mock Framework
|
|
25
|
+
#
|
|
26
|
+
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
|
|
27
|
+
#
|
|
28
|
+
# config.mock_with :mocha
|
|
29
|
+
# config.mock_with :flexmock
|
|
30
|
+
# config.mock_with :rr
|
|
31
|
+
|
|
32
|
+
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
|
|
33
|
+
#config.fixture_path = "#{::Rails.root}/spec/fixtures"
|
|
34
|
+
|
|
35
|
+
# If you're not using ActiveRecord, or you'd prefer not to run each of your
|
|
36
|
+
# examples within a transaction, remove the following line or assign false
|
|
37
|
+
# instead of true.
|
|
38
|
+
config.use_transactional_fixtures = true
|
|
39
|
+
|
|
40
|
+
# If true, the base class of anonymous controllers will be inferred
|
|
41
|
+
# automatically. This will be the default behavior in future versions of
|
|
42
|
+
# rspec-rails.
|
|
43
|
+
config.infer_base_class_for_anonymous_controllers = false
|
|
44
|
+
|
|
45
|
+
# Run specs in random order to surface order dependencies. If you find an
|
|
46
|
+
# order dependency and want to debug it, you can fix the order by providing
|
|
47
|
+
# the seed, which is printed after each run.
|
|
48
|
+
# --seed 1234
|
|
49
|
+
config.order = 'random'
|
|
50
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
shared_examples_for 'a status checker' do
|
|
2
|
+
|
|
3
|
+
it 'inherits from StatusCat::Checker' do
|
|
4
|
+
checker.should be_a_kind_of( StatusCat::Checkers::Base )
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
describe 'attributes' do
|
|
8
|
+
|
|
9
|
+
it 'has a name reader' do
|
|
10
|
+
expected = checker.class.to_s.split( '::' ).last.underscore.to_sym
|
|
11
|
+
checker.name.should eql( expected )
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it 'has a value reader' do
|
|
15
|
+
checker.value.should eql( checker.value )
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it 'has a status reader' do
|
|
19
|
+
checker.status.should eql( checker.status )
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe 'status_cat/status/index.html.erb' do
|
|
4
|
+
|
|
5
|
+
before( :each ) do
|
|
6
|
+
@checkers = StatusCat::Status.all
|
|
7
|
+
assign( :checkers, @checkers )
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it 'includes an h1 tag' do
|
|
11
|
+
render
|
|
12
|
+
rendered.should have_selector( :h1, :content => t( :h1, :scope => :status_cat ) )
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
it 'uses the status_title helper' do
|
|
16
|
+
view.should_receive( :status_title )
|
|
17
|
+
render
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
it 'uses the status_table helper' do
|
|
21
|
+
view.should_receive( :status_table ).with( @checkers )
|
|
22
|
+
render
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe 'status_cat/status_mailer/failure.html.erb' do
|
|
4
|
+
|
|
5
|
+
before( :each ) do
|
|
6
|
+
@checkers = StatusCat::Status.all
|
|
7
|
+
assign( :checkers, @checkers )
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it 'uses the status_table helper' do
|
|
11
|
+
view.should_receive( :status_table ).with( @checkers )
|
|
12
|
+
render
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe 'status_cat/status_mailer/failure.text.erb' do
|
|
4
|
+
|
|
5
|
+
before( :each ) do
|
|
6
|
+
@checkers = StatusCat::Status.all
|
|
7
|
+
assign( :checkers, @checkers )
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it 'uses the status_table helper' do
|
|
11
|
+
view.should_receive( :status_report ).with( @checkers )
|
|
12
|
+
render
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|