1# frozen_string_literal: true 2 3FactoryBot.define do 4 factory :protected_tag do 5 name 6 project 7 8 transient do 9 default_access_level { true } 10 end 11 12 trait :developers_can_create do 13 transient do 14 default_access_level { false } 15 end 16 17 after(:build) do |protected_tag| 18 protected_tag.create_access_levels.new(access_level: Gitlab::Access::DEVELOPER) 19 end 20 end 21 22 trait :no_one_can_create do 23 transient do 24 default_access_level { false } 25 end 26 27 after(:build) do |protected_tag| 28 protected_tag.create_access_levels.new(access_level: Gitlab::Access::NO_ACCESS) 29 end 30 end 31 32 trait :maintainers_can_create do 33 transient do 34 default_access_level { false } 35 end 36 37 after(:build) do |protected_tag| 38 protected_tag.create_access_levels.new(access_level: Gitlab::Access::MAINTAINER) 39 end 40 end 41 42 after(:build) do |protected_tag, evaluator| 43 if evaluator.default_access_level 44 protected_tag.create_access_levels.new(access_level: Gitlab::Access::MAINTAINER) 45 end 46 end 47 end 48end 49