summaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-08-06 16:57:04 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-08-06 16:57:04 +0200
commit02c4a0cc734320af315410b07a93843ca2f80bde (patch)
treeb78991cc1812aeba9b2118041b52425d27c034ea /features
parented7a8c9221fe544afb666e2b10672c759c821507 (diff)
downloadgitlab-ce-02c4a0cc734320af315410b07a93843ca2f80bde.tar.gz
Add tests for abuse report feature
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'features')
-rw-r--r--features/abuse_report.feature10
-rw-r--r--features/admin/abuse_report.feature8
-rw-r--r--features/steps/abuse_reports.rb28
-rw-r--r--features/steps/admin/abuse_reports.rb17
-rw-r--r--features/steps/shared/paths.rb4
5 files changed, 67 insertions, 0 deletions
diff --git a/features/abuse_report.feature b/features/abuse_report.feature
new file mode 100644
index 00000000000..3e1cb455b77
--- /dev/null
+++ b/features/abuse_report.feature
@@ -0,0 +1,10 @@
+Feature: Abuse reports
+ Background:
+ Given I sign in as a user
+ And user "Mike" exists
+
+ Scenario: Report abuse
+ Given I visit "Mike" user page
+ And I click "Report abuse" button
+ When I fill and submit abuse form
+ Then I should see success message
diff --git a/features/admin/abuse_report.feature b/features/admin/abuse_report.feature
new file mode 100644
index 00000000000..7d4ec2556e5
--- /dev/null
+++ b/features/admin/abuse_report.feature
@@ -0,0 +1,8 @@
+Feature: Admin Abuse reports
+ Background:
+ Given I sign in as an admin
+ And abuse reports exist
+
+ Scenario: Browse abuse reports
+ When I visit abuse reports page
+ Then I should see list of abuse reports
diff --git a/features/steps/abuse_reports.rb b/features/steps/abuse_reports.rb
new file mode 100644
index 00000000000..8f9ddb2899f
--- /dev/null
+++ b/features/steps/abuse_reports.rb
@@ -0,0 +1,28 @@
+class Spinach::Features::AbuseReports < Spinach::FeatureSteps
+ include SharedAuthentication
+
+ step 'I visit "Mike" user page' do
+ visit user_path(user_mike)
+ end
+
+ step 'I click "Report abuse" button' do
+ click_link 'Report abuse'
+ end
+
+ step 'I fill and submit abuse form' do
+ fill_in 'abuse_report_message', with: 'This user send spam'
+ click_button 'Send report'
+ end
+
+ step 'I should see success message' do
+ page.should have_content 'Thank you for your report'
+ end
+
+ step 'user "Mike" exists' do
+ user_mike
+ end
+
+ def user_mike
+ @user_mike ||= create(:user, name: 'Mike')
+ end
+end
diff --git a/features/steps/admin/abuse_reports.rb b/features/steps/admin/abuse_reports.rb
new file mode 100644
index 00000000000..87572e93dba
--- /dev/null
+++ b/features/steps/admin/abuse_reports.rb
@@ -0,0 +1,17 @@
+class Spinach::Features::AdminAbuseReports < Spinach::FeatureSteps
+ include SharedAuthentication
+ include SharedPaths
+ include SharedAdmin
+
+ step 'I should see list of abuse reports' do
+ page.should have_content("Abuse Reports")
+ page.should have_content AbuseReport.first.message
+ page.should have_link("Remove user")
+ end
+
+ step 'abuse reports exist' do
+ create(:abuse_report)
+ end
+end
+
+
diff --git a/features/steps/shared/paths.rb b/features/steps/shared/paths.rb
index 88a98a37807..bb0cd9ac105 100644
--- a/features/steps/shared/paths.rb
+++ b/features/steps/shared/paths.rb
@@ -139,6 +139,10 @@ module SharedPaths
visit admin_root_path
end
+ step 'I visit abuse reports page' do
+ visit admin_abuse_reports_path
+ end
+
step 'I visit admin projects page' do
visit admin_namespaces_projects_path
end