Commit f65eb0e8 authored by Bob Van Landuyt's avatar Bob Van Landuyt

Prevent create|destroy design on archived projects

Don't allow modification of designs when a project is archived
parent 33dad3f8
......@@ -11,6 +11,7 @@ module EE
vulnerability_feedback
license_management
feature_flag
design
].freeze
prepended do
......
......@@ -13,7 +13,7 @@ describe DesignManagement::DesignPolicy do
let(:issue) { create(:issue, project: project) }
let(:design) { create(:design, issue: issue) }
subject { described_class.new(current_user, design) }
subject(:design_policy) { described_class.new(current_user, design) }
shared_examples_for "design abilities not available" do
context "for owners" do
......@@ -149,5 +149,18 @@ describe DesignManagement::DesignPolicy do
it { is_expected.to be_disallowed(*design_abilities) }
end
end
context "when the project is archived" do
let(:current_user) { owner }
before do
project.update!(archived: true)
end
it "only allows reading designs" do
expect(design_policy).to be_allowed(:read_design)
expect(design_policy).to be_disallowed(:create_design, :destroy_design)
end
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment