summaryrefslogtreecommitdiff
path: root/spec/controllers/projects/tree_controller_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/controllers/projects/tree_controller_spec.rb')
-rw-r--r--spec/controllers/projects/tree_controller_spec.rb19
1 files changed, 17 insertions, 2 deletions
diff --git a/spec/controllers/projects/tree_controller_spec.rb b/spec/controllers/projects/tree_controller_spec.rb
index 8e4e275bdbe..143516e4712 100644
--- a/spec/controllers/projects/tree_controller_spec.rb
+++ b/spec/controllers/projects/tree_controller_spec.rb
@@ -3,8 +3,9 @@
require 'spec_helper'
RSpec.describe Projects::TreeController do
- let(:project) { create(:project, :repository) }
- let(:user) { create(:user) }
+ let(:project) { create(:project, :repository, previous_default_branch: previous_default_branch) }
+ let(:previous_default_branch) { nil }
+ let(:user) { create(:user) }
before do
sign_in(user)
@@ -55,6 +56,20 @@ RSpec.describe Projects::TreeController do
it { is_expected.to respond_with(:not_found) }
end
+ context "renamed default branch, valid file" do
+ let(:id) { 'old-default-branch/encoding/' }
+ let(:previous_default_branch) { 'old-default-branch' }
+
+ it { is_expected.to redirect_to("/#{project.full_path}/-/tree/#{project.default_branch}/encoding/") }
+ end
+
+ context "renamed default branch, invalid file" do
+ let(:id) { 'old-default-branch/invalid-path/' }
+ let(:previous_default_branch) { 'old-default-branch' }
+
+ it { is_expected.to redirect_to("/#{project.full_path}/-/tree/#{project.default_branch}/invalid-path/") }
+ end
+
context "valid empty branch, invalid path" do
let(:id) { 'empty-branch/invalid-path/' }