summaryrefslogtreecommitdiff
path: root/spec/controllers/projects/merge_requests/diffs_controller_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers/projects/merge_requests/diffs_controller_spec.rb')
-rw-r--r--spec/controllers/projects/merge_requests/diffs_controller_spec.rb36
1 files changed, 35 insertions, 1 deletions
diff --git a/spec/controllers/projects/merge_requests/diffs_controller_spec.rb b/spec/controllers/projects/merge_requests/diffs_controller_spec.rb
index 4de724fd6d6..23a33d7e0b1 100644
--- a/spec/controllers/projects/merge_requests/diffs_controller_spec.rb
+++ b/spec/controllers/projects/merge_requests/diffs_controller_spec.rb
@@ -2,7 +2,7 @@
require 'spec_helper'
-RSpec.describe Projects::MergeRequests::DiffsController do
+RSpec.describe Projects::MergeRequests::DiffsController, feature_category: :code_review_workflow do
include ProjectForksHelper
include TrackingHelpers
@@ -610,5 +610,39 @@ RSpec.describe Projects::MergeRequests::DiffsController do
go
end
end
+
+ context 'when ck param is present' do
+ let(:cache_key) { merge_request.merge_head_diff.id }
+
+ before do
+ create(:merge_request_diff, :merge_head, merge_request: merge_request)
+ end
+
+ it 'sets Cache-Control with max-age' do
+ go(ck: cache_key, diff_head: true)
+
+ expect(response.headers['Cache-Control']).to eq('max-age=86400, private')
+ end
+
+ context 'when diffs_batch_cache_with_max_age feature flag is disabled' do
+ before do
+ stub_feature_flags(diffs_batch_cache_with_max_age: false)
+ end
+
+ it 'does not set Cache-Control with max-age' do
+ go(ck: cache_key, diff_head: true)
+
+ expect(response.headers['Cache-Control']).not_to eq('max-age=86400, private')
+ end
+ end
+
+ context 'when not rendering merge head diff' do
+ it 'does not set Cache-Control with max-age' do
+ go(ck: cache_key, diff_head: false)
+
+ expect(response.headers['Cache-Control']).not_to eq('max-age=86400, private')
+ end
+ end
+ end
end
end