summaryrefslogtreecommitdiff
path: root/spec/services/merge_requests/merge_request_diff_cache_service_spec.rb
blob: 935f4710851863018a370d7474c6e39e2c1a6701 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
require 'spec_helper'

describe MergeRequests::MergeRequestDiffCacheService do
  let(:subject) { described_class.new }

  describe '#execute' 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)

      subject.execute(merge_request)
    end
  end
end