Refactor ee/spec/models/ee/user_spec.rb
We could reduce factory creation(not sure how much we are really doing that since we are updating attributes) and use table syntax to compact this a bit. I'm sure you have a reason for going with current over that though
describe '#third_party_ai_features_enabled' do
using RSpec::Parameterized::TableSyntax
let_it_be(:user) { create(:user) }
let_it_be(:group1, reload: true) { create(:group).tap { |r| r.add_reporter(user) } }
let_it_be(:group2, reload: true) { create(:group).tap { |r| r.add_reporter(user) } }
subject { user.third_party_ai_features_enabled? }
where(:group1_enabled, :group2_enabled, :result) do
false | false | false
true | false | false
false | true | false
true | true | true
end
with_them do
before do
group1.update_attribute(:third_party_ai_features_enabled, group1_enabled)
group2.update_attribute(:third_party_ai_features_enabled, group2_enabled)
end
it { is_expected.to eq result }
end
end
Edited by Alper Akgun