summaryrefslogtreecommitdiff
path: root/spec/requests/ide_controller_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/ide_controller_spec.rb')
-rw-r--r--spec/requests/ide_controller_spec.rb31
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