diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-24 21:09:14 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-11-24 21:09:14 +0300 |
commit | 72875e4a370cf2014e7bb35633d63ccb938e4edb (patch) | |
tree | 927761bf7c89a3cedeab6b2c28f04cbffda7a587 /spec/requests/whats_new_controller_spec.rb | |
parent | 94c1ea61908ce610ba40786e2d80d5701acd8cbf (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/requests/whats_new_controller_spec.rb')
-rw-r--r-- | spec/requests/whats_new_controller_spec.rb | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/spec/requests/whats_new_controller_spec.rb b/spec/requests/whats_new_controller_spec.rb index c04a6b00a93..30d741ee0f0 100644 --- a/spec/requests/whats_new_controller_spec.rb +++ b/spec/requests/whats_new_controller_spec.rb @@ -5,28 +5,30 @@ require 'spec_helper' RSpec.describe WhatsNewController do describe 'whats_new_path' do context 'with whats_new_drawer feature enabled' do - let(:fixture_dir_glob) { Dir.glob(File.join('spec', 'fixtures', 'whats_new', '*.yml')) } - before do stub_feature_flags(whats_new_drawer: true) - allow(Dir).to receive(:glob).with(Rails.root.join('data', 'whats_new', '*.yml')).and_return(fixture_dir_glob) end context 'with no page param' do + let(:most_recent) { { items: [item], next_page: 2 } } + let(:item) { double(:item) } + it 'responds with paginated data and headers' do + allow(ReleaseHighlight).to receive(:paginated).with(page: 1).and_return(most_recent) + allow(Gitlab::WhatsNew::ItemPresenter).to receive(:present).with(item).and_return(item) + get whats_new_path, xhr: true - expect(response.body).to eq([{ title: "bright and sunshinin' day", release: "01.05" }].to_json) + expect(response.body).to eq(most_recent[:items].to_json) expect(response.headers['X-Next-Page']).to eq(2) end end context 'with page param' do - it 'responds with paginated data and headers' do - get whats_new_path(page: 2), xhr: true + it 'passes the page parameter' do + expect(ReleaseHighlight).to receive(:paginated).with(page: 2).and_call_original - expect(response.body).to eq([{ title: 'bright' }].to_json) - expect(response.headers['X-Next-Page']).to eq(3) + get whats_new_path(page: 2), xhr: true end it 'returns a 404 if page param is negative' do @@ -34,14 +36,6 @@ RSpec.describe WhatsNewController do expect(response).to have_gitlab_http_status(:not_found) end - - context 'when there are no more paginated results' do - it 'responds with nil X-Next-Page header' do - get whats_new_path(page: 3), xhr: true - expect(response.body).to eq([{ title: "It's gonna be a bright" }].to_json) - expect(response.headers['X-Next-Page']).to be nil - end - end end end |