-
-
Notifications
You must be signed in to change notification settings - Fork 95
/
Copy pathexternal_link_helper_spec.rb
81 lines (66 loc) · 2.92 KB
/
external_link_helper_spec.rb
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
require 'spec_helper'
describe ExternalLinkHelper do
let(:user) { build(:user) }
describe '#link_to_github' do
it 'generates the link' do
user = build(:user, github: 'giddiup')
expect(helper.link_to_github(user)).to eql('<a title="giddiup" href="https://github.com/giddiup">giddiup</a>')
end
it 'generates the link with a block' do
user = build(:user, github: 'giddiup')
expect(helper.link_to_github(user) { 'uschi' }).to eql('<a title="giddiup" href="https://github.com/giddiup">uschi</a>')
end
it 'renders nothing for no github' do
user.github = nil
expect(helper.link_to_github(user)).to be_nil
end
it 'generates proper github urls' do
expect(helper.github_issue_url(123)).to eql('https://github.com/rughh/planning/issues/123')
end
end
describe '#link_to_linkedin' do
it 'generates the link' do
user = build(:user, linkedin: 'testyin')
expect(helper.link_to_linkedin(user)).to eql('<a title="testyin" href="https://www.linkedin.com/in/testyin">testyin</a>')
end
it 'generates the link with a block' do
user = build(:user, linkedin: 'testyin')
expect(helper.link_to_linkedin(user) { 'testyin' }).to eql('<a title="testyin" href="https://www.linkedin.com/in/testyin">testyin</a>')
end
it 'renders nothing for no linkedin' do
user.linkedin = nil
expect(helper.link_to_linkedin(user)).to be_nil
end
end
describe '#mailing_list_url' do
let(:colognerb) { Usergroup.from_name('colognerb').tap { _1.recurring = 'thrid wednesday' } }
it 'creates an url' do
expect(helper.mailing_list_url).to eql('https://groups.google.com/group/rubyonrails-ug-germany')
Whitelabel.with_label(colognerb) do
expect(helper.mailing_list_url).to eql('https://groups.google.com/group/colognerb')
end
end
end
describe '#link_to_twitter' do
it 'generates the link' do
user = build(:user, twitter: 'klaus')
expect(helper.link_to_twitter(user)).to eql('@<a title="klaus" href="https://twitter.com/klaus">klaus</a>')
end
end
describe '#twitter_update_url' do
let(:topic) { create(:topic, id: 999, name: 'bla') }
let(:event) { create(:event, name: 'Weihnachtstreffen', date: '2010-12-06 11:47:30') }
it 'generates a proper url for topics' do
topic.user.name = 'Uschi'
url = helper.twitter_update_url(topic)
expect(url).to match(Regexp.escape('https://twitter.com/home?status=Neues%20Thema%20von%20@Uschi'))
expect(url).to match(Regexp.escape('http://test.host/topics/bla-999'))
end
it 'generates a proper url for events' do
url = helper.twitter_update_url(event)
expect(url).to match(Regexp.escape('https://twitter.com/home?status=Weihnachtstreffen'))
expect(url).to match(Regexp.escape('am%2006.%20Dezember,%2011:47%20Uhr'))
expect(url).to match(Regexp.escape('http://test.host/events/weihnachtstreffen'))
end
end
end