diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/features/users_spec.rb | 36 | ||||
-rw-r--r-- | spec/models/abuse_report_spec.rb | 12 | ||||
-rw-r--r-- | spec/models/user_spec.rb | 2 |
3 files changed, 14 insertions, 36 deletions
diff --git a/spec/features/users_spec.rb b/spec/features/users_spec.rb index 633616241f1..c1248162031 100644 --- a/spec/features/users_spec.rb +++ b/spec/features/users_spec.rb @@ -1,8 +1,7 @@ require 'spec_helper' feature 'Users', feature: true do - let(:user) { create(:user, username: 'user1', name: 'User 1', email: 'user1@gitlab.com') } - let(:user2) { create(:user, username: 'user2', name: 'User 2', email: 'user2@gitlab.com') } + let(:user) { create(:user, username: 'user1', name: 'User 1', email: 'user1@gitlab.com') } scenario 'GET /users/sign_in creates a new user account' do visit new_user_session_path @@ -49,37 +48,4 @@ feature 'Users', feature: true do page.find('#error_explanation').find('ul').all('li').count end - context 'With a logged-in user' do - before do - login_as(user) - end - - describe 'Abuse report button' do - context 'User has never been reported for abuse' do - it 'enables the "Report abuse" button / dropdown' do - visit user_path(user2) - - expect(page.find('#report_abuse').find('ul.dropdown-menu').all('li').count).to be(1) - expect(page.find('#report_abuse').all('.btn-close').count).to be(0) - end - end - - context 'User has already been reported for abuse' do - before do - @abuse_report = AbuseReport.new(user: user2, message: 'Foo bar') - @abuse_report.reporter = user - @abuse_report.save! - end - - it 'disables the "Report abuse" button' do - visit user_path(user2) - - expect(page.find('#report_abuse').all('ul.dropdown-menu').count).to be(0) - expect(page.find('#report_abuse').all('.btn-close').count).to be(1) - end - end - end - - end - end diff --git a/spec/models/abuse_report_spec.rb b/spec/models/abuse_report_spec.rb index 635a6e2518c..d45319b25d4 100644 --- a/spec/models/abuse_report_spec.rb +++ b/spec/models/abuse_report_spec.rb @@ -16,4 +16,16 @@ RSpec.describe AbuseReport, type: :model do subject { create(:abuse_report) } it { expect(subject).to be_valid } + + describe 'associations' do + it { is_expected.to belong_to(:reporter).class_name('User') } + it { is_expected.to belong_to(:user) } + end + + describe 'validations' do + it { is_expected.to validate_presence_of(:reporter) } + it { is_expected.to validate_presence_of(:user) } + it { is_expected.to validate_presence_of(:message) } + it { is_expected.to validate_uniqueness_of(:user_id) } + end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 6342c3b8d13..b7b525bfca2 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -73,7 +73,6 @@ describe User do describe 'associations' do it { is_expected.to have_one(:namespace) } - it { is_expected.to have_one(:abuse_report) } it { is_expected.to have_many(:snippets).class_name('Snippet').dependent(:destroy) } it { is_expected.to have_many(:project_members).dependent(:destroy) } it { is_expected.to have_many(:groups) } @@ -86,6 +85,7 @@ describe User do it { is_expected.to have_many(:merge_requests).dependent(:destroy) } it { is_expected.to have_many(:assigned_merge_requests).dependent(:destroy) } it { is_expected.to have_many(:identities).dependent(:destroy) } + it { is_expected.to have_one(:abuse_report) } end describe 'validations' do |