FactoryBot.define do factory :ban, class: Ban do ban_type { Ban::TYPE_SITE } expiry { Time.now.utc.to_date + 1 } # Hack because of the awkward way bans are created (requires user_name) before(:create) do |ban| if ban.user.nil? user = create :user ban.user_name = user.username else ban.user_name = ban.user.username end end trait :mute do ban_type { Ban::TYPE_MUTE } end trait :site do ban_type { Ban::TYPE_SITE } end trait :gather do ban_type { Ban::TYPE_GATHERĀ } end trait :expired do expiry { Date.yesterday - 1 } end end end