summaryrefslogtreecommitdiff
path: root/spec/services/wiki_pages/base_service_spec.rb
blob: 4c44c195ac8b921b57689c2b779e654ca3e84026 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# frozen_string_literal: true

require 'spec_helper'

describe WikiPages::BaseService do
  let(:project) { double('project') }
  let(:user) { double('user') }

  describe '#increment_usage' do
    counter = Gitlab::UsageDataCounters::WikiPageCounter
    error = counter::UnknownEvent

    let(:subject) { bad_service_class.new(project, user, {}) }

    context 'the class implements usage_counter_action incorrectly' do
      let(:bad_service_class) do
        Class.new(described_class) do
          def usage_counter_action
            :bad_event
          end
        end
      end

      it 'raises an error on unknown events' do
        expect { subject.send(:increment_usage) }.to raise_error(error)
      end
    end
  end
end