diff options
author | Rémy Coutable <remy@rymai.me> | 2017-05-03 17:25:31 +0200 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-05-04 17:04:36 +0200 |
commit | f1ace97f8bdc69edc481b545b779721322cec95c (patch) | |
tree | f7cc903c0c8b4b64e743a07016e0325d7d5c0fea /spec | |
parent | d3768dd79698ae17cd0c82b7c78a8ead11b7e157 (diff) | |
download | gitlab-ce-f1ace97f8bdc69edc481b545b779721322cec95c.tar.gz |
Backport avatar-related spec changes from gitlab-org/gitlab-ee@4b464eaaeebackport-ee-4b464eaaee
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec')
-rw-r--r-- | spec/factories/groups.rb | 4 | ||||
-rw-r--r-- | spec/factories/users.rb | 4 | ||||
-rw-r--r-- | spec/models/group_spec.rb | 16 | ||||
-rw-r--r-- | spec/models/project_spec.rb | 11 | ||||
-rw-r--r-- | spec/models/user_spec.rb | 11 |
5 files changed, 38 insertions, 8 deletions
diff --git a/spec/factories/groups.rb b/spec/factories/groups.rb index 86f51ffca99..52f76b094a3 100644 --- a/spec/factories/groups.rb +++ b/spec/factories/groups.rb @@ -17,6 +17,10 @@ FactoryGirl.define do visibility_level Gitlab::VisibilityLevel::PRIVATE end + trait :with_avatar do + avatar { File.open(Rails.root.join('spec/fixtures/dk.png')) } + end + trait :access_requestable do request_access_enabled true end diff --git a/spec/factories/users.rb b/spec/factories/users.rb index e1ae94a08e4..33fa80772ff 100644 --- a/spec/factories/users.rb +++ b/spec/factories/users.rb @@ -29,6 +29,10 @@ FactoryGirl.define do after(:build) { |user, _| user.block! } end + trait :with_avatar do + avatar { File.open(Rails.root.join('spec/fixtures/dk.png')) } + end + trait :two_factor_via_otp do before(:create) do |user| user.otp_required_for_login = true diff --git a/spec/models/group_spec.rb b/spec/models/group_spec.rb index a11805926cc..3d60e52f23f 100644 --- a/spec/models/group_spec.rb +++ b/spec/models/group_spec.rb @@ -175,6 +175,22 @@ describe Group, models: true do end end + describe '#avatar_url' do + let!(:group) { create(:group, :access_requestable, :with_avatar) } + let(:user) { create(:user) } + subject { group.avatar_url } + + context 'when avatar file is uploaded' do + before do + group.add_master(user) + end + + let(:avatar_path) { "/uploads/group/avatar/#{group.id}/dk.png" } + + it { should eq "http://#{Gitlab.config.gitlab.host}#{avatar_path}" } + end + end + describe '.search' do it 'returns groups with a matching name' do expect(described_class.search(group.name)).to eq([group]) diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 36ce3070a6e..c3eeff6c43a 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -811,12 +811,9 @@ describe Project, models: true do context 'when avatar file is uploaded' do let(:project) { create(:empty_project, :with_avatar) } + let(:avatar_path) { "/uploads/project/avatar/#{project.id}/dk.png" } - it 'creates a correct avatar path' do - avatar_path = "/uploads/project/avatar/#{project.id}/dk.png" - - expect(project.avatar_url).to eq("http://#{Gitlab.config.gitlab.host}#{avatar_path}") - end + it { should eq "http://#{Gitlab.config.gitlab.host}#{avatar_path}" } end context 'When avatar file in git' do @@ -824,9 +821,7 @@ describe Project, models: true do allow(project).to receive(:avatar_in_git) { true } end - let(:avatar_path) do - "/#{project.full_path}/avatar" - end + let(:avatar_path) { "/#{project.full_path}/avatar" } it { should eq "http://#{Gitlab.config.gitlab.host}#{avatar_path}" } end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 1c2df4c9d97..5322b7178e3 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -874,6 +874,17 @@ describe User, models: true do end end + describe '#avatar_url' do + let(:user) { create(:user, :with_avatar) } + subject { user.avatar_url } + + context 'when avatar file is uploaded' do + let(:avatar_path) { "/uploads/user/avatar/#{user.id}/dk.png" } + + it { should eq "http://#{Gitlab.config.gitlab.host}#{avatar_path}" } + end + end + describe '#requires_ldap_check?' do let(:user) { User.new } |