discourse/spec/lib/flag_settings_spec.rb
David Taylor c9dab6fd08
DEV: Automatically require 'rails_helper' in all specs (#16077)
It's very easy to forget to add `require 'rails_helper'` at the top of every core/plugin spec file, and omissions can cause some very confusing/sporadic errors.

By setting this flag in `.rspec`, we can remove the need for `require 'rails_helper'` entirely.
2022-03-01 17:50:50 +00:00

48 lines
1.5 KiB
Ruby

# frozen_string_literal: true
require 'flag_settings'
RSpec.describe FlagSettings do
let(:settings) { FlagSettings.new }
describe 'add' do
it 'will add a type' do
settings.add(3, :off_topic)
expect(settings.flag_types).to include(:off_topic)
expect(settings.is_flag?(:off_topic)).to eq(true)
expect(settings.is_flag?(:vote)).to eq(false)
expect(settings.topic_flag_types).to be_empty
expect(settings.notify_types).to be_empty
expect(settings.auto_action_types).to be_empty
end
it 'will add a topic type' do
settings.add(4, :inappropriate, topic_type: true)
expect(settings.flag_types).to include(:inappropriate)
expect(settings.topic_flag_types).to include(:inappropriate)
expect(settings.without_custom_types).to include(:inappropriate)
end
it 'will add a notify type' do
settings.add(3, :off_topic, notify_type: true)
expect(settings.flag_types).to include(:off_topic)
expect(settings.notify_types).to include(:off_topic)
end
it 'will add an auto action type' do
settings.add(7, :notify_moderators, auto_action_type: true)
expect(settings.flag_types).to include(:notify_moderators)
expect(settings.auto_action_types).to include(:notify_moderators)
end
it 'will add a custom type' do
settings.add(7, :notify_user, custom_type: true)
expect(settings.flag_types).to include(:notify_user)
expect(settings.custom_types).to include(:notify_user)
expect(settings.without_custom_types).to be_empty
end
end
end