Add :with_avatar
trait to User factory
This commit is contained in:
parent
0104ab79b3
commit
93e6282657
7 changed files with 26 additions and 7 deletions
|
@ -169,7 +169,7 @@ class User < ActiveRecord::Base
|
|||
validates :avatar_crop_x, :avatar_crop_y, :avatar_crop_size,
|
||||
numericality: { only_integer: true },
|
||||
presence: true,
|
||||
if: ->(user) { user.avatar_changed? }
|
||||
if: ->(user) { user.avatar? }
|
||||
|
||||
before_validation :generate_password, on: :create
|
||||
before_validation :restricted_signup_domains, on: :create
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe NamespacesController do
|
||||
let!(:user) { create(:user, avatar: fixture_file_upload(Rails.root + "spec/fixtures/dk.png", "image/png")) }
|
||||
let!(:user) { create(:user, :with_avatar) }
|
||||
|
||||
describe "GET show" do
|
||||
context "when the namespace belongs to a user" do
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe Profiles::AvatarsController do
|
||||
let(:user) { create(:user, avatar: fixture_file_upload(Rails.root + "spec/fixtures/dk.png")) }
|
||||
let(:user) { create(:user, :with_avatar) }
|
||||
|
||||
before do
|
||||
sign_in(user)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe UploadsController do
|
||||
let!(:user) { create(:user, avatar: fixture_file_upload(Rails.root + "spec/fixtures/dk.png", "image/png")) }
|
||||
let!(:user) { create(:user, :with_avatar) }
|
||||
|
||||
describe "GET show" do
|
||||
context "when viewing a user avatar" do
|
||||
|
|
|
@ -36,6 +36,13 @@ FactoryGirl.define do
|
|||
end
|
||||
end
|
||||
|
||||
trait :with_avatar do
|
||||
avatar { fixture_file_upload(Rails.root.join(*%w(spec fixtures dk.png)), 'image/png') }
|
||||
avatar_crop_x 0
|
||||
avatar_crop_y 0
|
||||
avatar_crop_size 256
|
||||
end
|
||||
|
||||
factory :omniauth_user do
|
||||
ignore do
|
||||
extern_uid '123456'
|
||||
|
|
|
@ -77,7 +77,7 @@ describe ApplicationHelper do
|
|||
let(:avatar_file_path) { File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif') }
|
||||
|
||||
it 'should return an url for the avatar' do
|
||||
user = create(:user, avatar: File.open(avatar_file_path))
|
||||
user = create(:user, :with_avatar, avatar: File.open(avatar_file_path))
|
||||
|
||||
expect(helper.avatar_icon(user.email).to_s).
|
||||
to match("/uploads/user/avatar/#{user.id}/banana_sample.gif")
|
||||
|
@ -88,7 +88,7 @@ describe ApplicationHelper do
|
|||
# Must be stubbed after the stub above, and separately
|
||||
stub_config_setting(url: Settings.send(:build_gitlab_url))
|
||||
|
||||
user = create(:user, avatar: File.open(avatar_file_path))
|
||||
user = create(:user, :with_avatar, avatar: File.open(avatar_file_path))
|
||||
|
||||
expect(helper.avatar_icon(user.email).to_s).
|
||||
to match("/gitlab/uploads/user/avatar/#{user.id}/banana_sample.gif")
|
||||
|
@ -102,7 +102,7 @@ describe ApplicationHelper do
|
|||
|
||||
describe 'using a User' do
|
||||
it 'should return an URL for the avatar' do
|
||||
user = create(:user, avatar: File.open(avatar_file_path))
|
||||
user = create(:user, :with_avatar, avatar: File.open(avatar_file_path))
|
||||
|
||||
expect(helper.avatar_icon(user).to_s).
|
||||
to match("/uploads/user/avatar/#{user.id}/banana_sample.gif")
|
||||
|
|
|
@ -174,6 +174,18 @@ describe User, models: true do
|
|||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe 'avatar' do
|
||||
it 'only validates when avatar is present' do
|
||||
user = build(:user, :with_avatar)
|
||||
|
||||
user.avatar_crop_x = nil
|
||||
user.avatar_crop_y = nil
|
||||
user.avatar_crop_size = nil
|
||||
|
||||
expect(user).not_to be_valid
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe "Respond to" do
|
||||
|
|
Loading…
Reference in a new issue