FIX: custom flag name should be unique (#28869)

Validation to ensure that the custom flag name is unique.
This commit is contained in:
Krzysztof Kotlarek
2024-09-30 09:17:19 +10:00
committed by GitHub
parent 042bfeac66
commit c5a024f8df
6 changed files with 31 additions and 0 deletions

View File

@ -24,6 +24,15 @@ RSpec.describe(Flags::CreateFlag) do
it { is_expected.to fail_a_policy(:invalid_access) }
end
context "when title is not unique" do
fab!(:current_user) { Fabricate(:admin) }
fab!(:flag) { Fabricate(:flag, name: "custom flag name") }
it { is_expected.to fail_a_policy(:unique_name) }
after { Flag.destroy_by(name: "custom flag name") }
end
context "when applies to is invalid" do
fab!(:current_user) { Fabricate(:admin) }
let(:applies_to) { ["User"] }

View File

@ -43,6 +43,15 @@ RSpec.describe(Flags::UpdateFlag) do
it { is_expected.to fail_a_contract }
end
context "when title is not unique" do
fab!(:current_user) { Fabricate(:admin) }
fab!(:flag_2) { Fabricate(:flag, name: "edited custom flag name") }
it { is_expected.to fail_a_policy(:unique_name) }
after { Flag.destroy_by(name: "edited custom flag name") }
end
context "when title is too long" do
fab!(:current_user) { Fabricate(:admin) }
let(:name) { "a" * 201 }