test/fastly-rails_test.rb in fastly-rails-0.3.0 vs test/fastly-rails_test.rb in fastly-rails-0.4.0
- old
+ new
@@ -3,23 +3,23 @@
describe FastlyRails do
let(:api_key) { 'test' }
let(:user) { nil }
let(:password) { nil }
let(:max_age) { 100000 }
- let(:configuration) { FastlyRails.configuration }
+ let(:configuration) { FastlyRails::Configuration.new }
let(:service_id) { 'someserviceid' }
let(:client) { FastlyRails.client }
+ before do
+ FastlyRails.instance_variable_set('@configuration', configuration)
+ end
+
it 'should be a module' do
assert_kind_of Module, FastlyRails
end
describe 'credentials not provided' do
- before do
- FastlyRails.instance_variable_set('@configuration', FastlyRails::Configuration.new)
- end
-
it 'should raise an error if configuration is not authenticatable' do
assert_equal false, configuration.authenticatable?
assert_equal true, configuration.invalid_service_id?
assert_raises FastlyRails::NoAPIKeyProvidedError do
client
@@ -45,12 +45,35 @@
assert_equal api_key, configuration.api_key
assert_equal user, configuration.user
assert_equal password, configuration.password
assert_equal max_age, configuration.max_age
assert_equal service_id, configuration.service_id
+ assert_equal true, configuration.purging_enabled?
end
it 'should return a valid client' do
assert_instance_of FastlyRails::Client, client
+ end
+ end
+
+ describe 'purge_by_key' do
+ let(:client) { MiniTest::Mock.new }
+ let(:key) { "key" }
+
+ it 'delegates to the client when purging is enabled' do
+ FastlyRails.stub(:client, client) do
+ FastlyRails.stub(:purging_enabled?, true) do
+ client.expect(:purge_by_key, nil, [key])
+ FastlyRails.purge_by_key(key)
+ client.verify
+ end
+ end
+ end
+
+ it 'does nothing when purging is disabled' do
+ configuration.purging_enabled = false
+ FastlyRails.stub(:client, client) do
+ FastlyRails.purge_by_key(key)
+ end
end
end
end