summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/git/wiki_page_version_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/git/wiki_page_version_spec.rb')
-rw-r--r--spec/lib/gitlab/git/wiki_page_version_spec.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/lib/gitlab/git/wiki_page_version_spec.rb b/spec/lib/gitlab/git/wiki_page_version_spec.rb
new file mode 100644
index 00000000000..836fa2449ec
--- /dev/null
+++ b/spec/lib/gitlab/git/wiki_page_version_spec.rb
@@ -0,0 +1,28 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+RSpec.describe Gitlab::Git::WikiPageVersion do
+ let_it_be(:project) { create(:project, :public, :repository) }
+ let(:user) { create(:user, username: 'someone') }
+
+ describe '#author_url' do
+ subject(:author_url) { described_class.new(commit, nil).author_url }
+
+ context 'user exists in gitlab' do
+ let(:commit) { create(:commit, project: project, author: user) }
+
+ it 'returns the profile link of the user' do
+ expect(author_url).to eq('http://localhost/someone')
+ end
+ end
+
+ context 'user does not exist in gitlab' do
+ let(:commit) { create(:commit, project: project, author_email: "someone@somewebsite.com") }
+
+ it 'returns a mailto: url' do
+ expect(author_url).to eq('mailto:someone@somewebsite.com')
+ end
+ end
+ end
+end