Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett Walker <bwalker@gitlab.com>2018-07-07 07:22:44 +0300
committerStan Hu <stanhu@gmail.com>2018-07-07 07:22:44 +0300
commitf3e102837150022daf1864c01b4bb84b24f591b7 (patch)
tree3028c1ca996d92496fc7e0918672f736644edc3b /spec/support/matchers
parent06e3ea7ac3deefad9b91030994b40c7c8abe06d3 (diff)
Refactor rspec matchers in read_only_spec.rb
Diffstat (limited to 'spec/support/matchers')
-rw-r--r--spec/support/matchers/disallow_request_matchers.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/support/matchers/disallow_request_matchers.rb b/spec/support/matchers/disallow_request_matchers.rb
new file mode 100644
index 00000000000..db4d90e4fd0
--- /dev/null
+++ b/spec/support/matchers/disallow_request_matchers.rb
@@ -0,0 +1,15 @@
+RSpec::Matchers.define :disallow_request do
+ match do |middleware|
+ alert = middleware.env['rack.session'].to_hash
+ .dig('flash', 'flashes', 'alert')
+
+ alert&.include?('You cannot perform write operations')
+ end
+end
+
+RSpec::Matchers.define :disallow_request_in_json do
+ match do |response|
+ json_response = JSON.parse(response.body)
+ response.body.include?('You cannot perform write operations') && json_response.key?('message')
+ end
+end