summaryrefslogtreecommitdiff
path: root/spec/support/active_record_enum.rb
blob: fb1189c7f1718ff515eeb6e0af8d79a8d06aa5a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
# frozen_string_literal: true

shared_examples 'having unique enum values' do
  described_class.defined_enums.each do |name, enum|
    it "has unique values in #{name.inspect}" do
      duplicated = enum.group_by(&:last).select { |key, value| value.size > 1 }

      expect(duplicated).to be_empty,
        "Duplicated values detected: #{duplicated.values.map(&Hash.method(:[]))}"
    end
  end
end