diff options
Diffstat (limited to 'spec/requests/ide_controller_spec.rb')
-rw-r--r-- | spec/requests/ide_controller_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/requests/ide_controller_spec.rb b/spec/requests/ide_controller_spec.rb index 151fa89b819..8d61399c824 100644 --- a/spec/requests/ide_controller_spec.rb +++ b/spec/requests/ide_controller_spec.rb @@ -3,6 +3,8 @@ require 'spec_helper' RSpec.describe IdeController do + using RSpec::Parameterized::TableSyntax + let_it_be(:reporter) { create(:user) } let_it_be(:project) do @@ -14,6 +16,8 @@ RSpec.describe IdeController do let_it_be(:creator) { project.creator } let_it_be(:other_user) { create(:user) } + let_it_be(:top_nav_partial) { 'layouts/header/_default' } + let(:user) { creator } let(:branch) { '' } @@ -233,6 +237,33 @@ RSpec.describe IdeController do end end end + + # This indirectly tests that `minimal: true` was passed to the fullscreen layout + describe 'layout' do + where(:ff_state, :use_legacy_web_ide, :expect_top_nav) do + false | false | true + false | true | true + true | true | true + true | false | false + end + + with_them do + before do + stub_feature_flags(vscode_web_ide: ff_state) + allow(user).to receive(:use_legacy_web_ide).and_return(use_legacy_web_ide) + + subject + end + + it 'handles rendering top nav' do + if expect_top_nav + expect(response).to render_template(top_nav_partial) + else + expect(response).not_to render_template(top_nav_partial) + end + end + end + end end end end |