summaryrefslogtreecommitdiff
path: root/spec/helpers/users_helper_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/helpers/users_helper_spec.rb')
-rw-r--r--spec/helpers/users_helper_spec.rb74
1 files changed, 53 insertions, 21 deletions
diff --git a/spec/helpers/users_helper_spec.rb b/spec/helpers/users_helper_spec.rb
index c9dc3fcff3f..9ebbf975903 100644
--- a/spec/helpers/users_helper_spec.rb
+++ b/spec/helpers/users_helper_spec.rb
@@ -204,40 +204,72 @@ RSpec.describe UsersHelper do
end
describe '#work_information' do
- subject { helper.work_information(user) }
+ let(:with_schema_markup) { false }
- context 'when both job_title and organization are present' do
- let(:user) { build(:user, organization: 'GitLab', job_title: 'Frontend Engineer') }
+ subject { helper.work_information(user, with_schema_markup: with_schema_markup) }
- it 'returns job title concatenated with organization' do
- is_expected.to eq('Frontend Engineer at GitLab')
- end
+ context 'when neither organization nor job_title are present' do
+ it { is_expected.to be_nil }
end
- context 'when only organization is present' do
- let(:user) { build(:user, organization: 'GitLab') }
+ context 'when user parameter is nil' do
+ let(:user) { nil }
- it "returns organization" do
- is_expected.to eq('GitLab')
- end
+ it { is_expected.to be_nil }
end
- context 'when only job_title is present' do
- let(:user) { build(:user, job_title: 'Frontend Engineer') }
+ context 'without schema markup' do
+ context 'when both job_title and organization are present' do
+ let(:user) { build(:user, organization: 'GitLab', job_title: 'Frontend Engineer') }
- it 'returns job title' do
- is_expected.to eq('Frontend Engineer')
+ it 'returns job title concatenated with organization' do
+ is_expected.to eq('Frontend Engineer at GitLab')
+ end
end
- end
- context 'when neither organization nor job_title are present' do
- it { is_expected.to be_nil }
+ context 'when only organization is present' do
+ let(:user) { build(:user, organization: 'GitLab') }
+
+ it "returns organization" do
+ is_expected.to eq('GitLab')
+ end
+ end
+
+ context 'when only job_title is present' do
+ let(:user) { build(:user, job_title: 'Frontend Engineer') }
+
+ it 'returns job title' do
+ is_expected.to eq('Frontend Engineer')
+ end
+ end
end
- context 'when user parameter is nil' do
- let(:user) { nil }
+ context 'with schema markup' do
+ let(:with_schema_markup) { true }
- it { is_expected.to be_nil }
+ context 'when both job_title and organization are present' do
+ let(:user) { build(:user, organization: 'GitLab', job_title: 'Frontend Engineer') }
+
+ it 'returns job title concatenated with organization' do
+ is_expected.to eq('<span itemprop="jobTitle">Frontend Engineer</span> at <span itemprop="worksFor">GitLab</span>')
+ end
+ end
+
+ context 'when only organization is present' do
+ let(:user) { build(:user, organization: 'GitLab') }
+
+ it "returns organization" do
+ is_expected.to eq('<span itemprop="worksFor">GitLab</span>')
+ end
+ end
+
+ context 'when only job_title is present' do
+ let(:user) { build(:user, job_title: 'Frontend Engineer') }
+
+ it 'returns job title' do
+ is_expected.to eq('<span itemprop="jobTitle">Frontend Engineer</span>')
+ end
+ end
end
end
end