award_emoji_helper_spec.rb 1.95 KB
Newer Older
1 2
# frozen_string_literal: true

3 4 5 6
require 'spec_helper'

describe AwardEmojiHelper do
  describe '.toggle_award_url' do
7 8
    subject { helper.toggle_award_url(awardable) }

9
    context 'note on personal snippet' do
10 11 12 13 14
      let(:snippet) { create(:personal_snippet) }
      let(:note) { create(:note_on_personal_snippet, noteable: snippet) }
      let(:awardable) { note }

      subject { helper.toggle_award_url(note) }
15 16 17 18

      it 'returns correct url' do
        expected_url = "/snippets/#{note.noteable.id}/notes/#{note.id}/toggle_award_emoji"

19
        expect(subject).to eq(expected_url)
20 21 22 23 24
      end
    end

    context 'note on project item' do
      let(:note) { create(:note_on_project_snippet) }
25
      let(:awardable) { note }
26 27 28 29 30 31

      it 'returns correct url' do
        @project = note.noteable.project

        expected_url = "/#{@project.namespace.path}/#{@project.path}/notes/#{note.id}/toggle_award_emoji"

32
        expect(subject).to eq(expected_url)
33 34 35 36 37
      end
    end

    context 'personal snippet' do
      let(:snippet) { create(:personal_snippet) }
38
      let(:awardable) { snippet }
39 40 41 42

      it 'returns correct url' do
        expected_url = "/snippets/#{snippet.id}/toggle_award_emoji"

43
        expect(subject).to eq(expected_url)
44 45 46 47 48
      end
    end

    context 'merge request' do
      let(:merge_request) { create(:merge_request) }
49
      let(:awardable) { merge_request }
50 51 52 53

      it 'returns correct url' do
        @project = merge_request.project

54
        expected_url = "/#{@project.namespace.path}/#{@project.path}/-/merge_requests/#{merge_request.iid}/toggle_award_emoji"
55

56
        expect(subject).to eq(expected_url)
57 58 59 60 61
      end
    end

    context 'issue' do
      let(:issue) { create(:issue) }
62
      let(:awardable) { issue }
63 64 65 66

      it 'returns correct url' do
        @project = issue.project

67
        expected_url = "/#{@project.namespace.path}/#{@project.path}/-/issues/#{issue.iid}/toggle_award_emoji"
68

69
        expect(subject).to eq(expected_url)
70 71 72 73
      end
    end
  end
end