summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2015-09-29 18:08:55 +0200
committerrymai <remy@rymai.me>2015-09-29 21:47:01 +0200
commitea72d53ec083676ee1171e97c0869132f360d0c9 (patch)
treed512e83b668cf9223bab25c5f5dd6b715a82b204 /spec
parent5f95a5e070c76c582a2b394377b0f350f4b1cff9 (diff)
downloadgitlab-ce-ea72d53ec083676ee1171e97c0869132f360d0c9.tar.gz
This simplifies the "Report button" to not use open a dropdown and adds a tooltip on this button. This also removes an extra spec and adds missing specs.
Diffstat (limited to 'spec')
-rw-r--r--spec/features/users_spec.rb36
-rw-r--r--spec/models/abuse_report_spec.rb12
-rw-r--r--spec/models/user_spec.rb2
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