summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2017-02-02 18:18:20 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2017-02-02 18:18:20 +0200
commit2c6b21b50451abd4875a737619510d14baa2e854 (patch)
tree32d9fe00a0ddacd50ac39d54db1c1de1f8f2ea9d
parentdc86e88059174eeffcdc6bb58efce92d18eb1103 (diff)
downloadgitlab-ce-dz-cache-namespace-methods.tar.gz
Change merge_request_diff_cache_service_spec.rbdz-cache-namespace-methods
Don't stub Rails.cache.write in tests. For example introducing cache for Project#full_path breaks merge_request_diff_cache_service_spec.rb because latest one expected that no other code will use Rails.cache.write during test. Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-rw-r--r--spec/models/concerns/cache_method_spec.rb1
-rw-r--r--spec/services/merge_requests/merge_request_diff_cache_service_spec.rb12
2 files changed, 8 insertions, 5 deletions
diff --git a/spec/models/concerns/cache_method_spec.rb b/spec/models/concerns/cache_method_spec.rb
index e44bb146fff..fb72bc9f7e9 100644
--- a/spec/models/concerns/cache_method_spec.rb
+++ b/spec/models/concerns/cache_method_spec.rb
@@ -38,6 +38,7 @@ describe CacheMethod, caching: true do
describe 'expire_method_caches' do
it 'expires cache and returns new value' do
subject.expire_method_caches(%w(time))
+
expect(subject.time).not_to eq(time)
end
end
diff --git a/spec/services/merge_requests/merge_request_diff_cache_service_spec.rb b/spec/services/merge_requests/merge_request_diff_cache_service_spec.rb
index 35804d41b46..1069647a34e 100644
--- a/spec/services/merge_requests/merge_request_diff_cache_service_spec.rb
+++ b/spec/services/merge_requests/merge_request_diff_cache_service_spec.rb
@@ -1,19 +1,21 @@
require 'spec_helper'
-describe MergeRequests::MergeRequestDiffCacheService do
+describe MergeRequests::MergeRequestDiffCacheService, services: true do
let(:subject) { MergeRequests::MergeRequestDiffCacheService.new }
+ let(:merge_request) { create(:merge_request) }
- describe '#execute' do
+ describe '#execute', caching: true do
it 'retrieves the diff files to cache the highlighted result' do
- merge_request = create(:merge_request)
cache_key = [merge_request.merge_request_diff, 'highlighted-diff-files', Gitlab::Diff::FileCollection::MergeRequestDiff.default_options]
- expect(Rails.cache).to receive(:read).with(cache_key).and_return({})
- expect(Rails.cache).to receive(:write).with(cache_key, anything)
allow_any_instance_of(Gitlab::Diff::File).to receive(:blob).and_return(double("text?" => true))
allow_any_instance_of(Repository).to receive(:diffable?).and_return(true)
+ expect(Rails.cache.read(cache_key)).to be_blank
+
subject.execute(merge_request)
+
+ expect(Rails.cache.read(cache_key)).to be_present
end
end
end