summaryrefslogtreecommitdiff
path: root/spec/models/integrations/slack_workspace/api_scope_spec.rb
blob: 92052983242ab38e4d61f94e5a40bc4b414d34e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Integrations::SlackWorkspace::ApiScope, feature_category: :integrations do
  describe '.find_or_initialize_by_names' do
    it 'acts as insert into a global set of scope names' do
      expect { described_class.find_or_initialize_by_names(%w[foo bar baz]) }
        .to change { described_class.count }.by(3)

      expect { described_class.find_or_initialize_by_names(%w[bar baz foo buzz]) }
        .to change { described_class.count }.by(1)

      expect { described_class.find_or_initialize_by_names(%w[baz foo]) }
        .to change { described_class.count }.by(0)

      expect(described_class.pluck(:name)).to match_array(%w[foo bar baz buzz])
    end
  end
end