discourse/spec/models/category_setting_spec.rb
Ted Johansson 87ec058b8b
FEATURE: Configurable auto-bump cooldown (#20507)
Currently the auto-bump cooldown is hard-coded to 24 hours.

This change makes the highlighted 24 hours part configurable (defaulting to 24 hours), and the rest of the process remains the same.

This uses the new CategorySetting model associated with Category. We decided to add this because we want to move away from custom fields due to the lack of type casting and validations, but we want to keep the loading of these optional as they are not needed for almost all of the flows.

Category settings will be back-filled to all categories as part of this change, and creating a new category will now also create a category setting.
2023-03-10 13:45:01 +08:00

20 lines
430 B
Ruby

# frozen_string_literal: true
RSpec.describe CategorySetting do
it { is_expected.to belong_to(:category) }
it do
is_expected.to validate_numericality_of(:num_auto_bump_daily)
.only_integer
.is_greater_than_or_equal_to(0)
.allow_nil
end
it do
is_expected.to validate_numericality_of(:auto_bump_cooldown_days)
.only_integer
.is_greater_than_or_equal_to(0)
.allow_nil
end
end