summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/data_builder/wiki_page_spec.rb
blob: 276ddb1e0afb5e79ff684c3a68375a46ab093871 (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
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Gitlab::DataBuilder::WikiPage do
  let_it_be(:project) { create(:project, :repository, :wiki_repo) }
  let_it_be(:wiki_page) { create(:wiki_page, wiki: project.wiki) }
  let_it_be(:user) { create(:user) }

  describe '.build' do
    let(:data) { described_class.build(wiki_page, user, 'create') }

    it { expect(data).to be_a(Hash) }
    it { expect(data[:object_kind]).to eq('wiki_page') }
    it { expect(data[:user]).to eq(user.hook_attrs) }
    it { expect(data[:project]).to eq(project.hook_attrs) }
    it { expect(data[:wiki]).to eq(project.wiki.hook_attrs) }

    it { expect(data[:object_attributes]).to include(wiki_page.hook_attrs) }
    it { expect(data[:object_attributes]).to include(url: Gitlab::UrlBuilder.build(wiki_page)) }
    it { expect(data[:object_attributes]).to include(action: 'create') }
    it { expect(data[:object_attributes]).to include(diff_url: Gitlab::UrlBuilder.build(wiki_page, action: :diff, version_id: wiki_page.version.id)) }
  end
end