diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2017-02-02 18:18:20 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2017-02-02 18:18:20 +0200 |
commit | 2c6b21b50451abd4875a737619510d14baa2e854 (patch) | |
tree | 32d9fe00a0ddacd50ac39d54db1c1de1f8f2ea9d | |
parent | dc86e88059174eeffcdc6bb58efce92d18eb1103 (diff) | |
download | gitlab-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.rb | 1 | ||||
-rw-r--r-- | spec/services/merge_requests/merge_request_diff_cache_service_spec.rb | 12 |
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 |