summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-16 11:13:21 -0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-08-17 12:58:59 -0300
commit29a91c5bc65524fffeaaba493f30c419b98f0869 (patch)
tree8d74bd6804a33158c9923684e5140285cc461ca5 /spec
parentf77c47a51c8fef379b2dc9473545e53a28ec3c7f (diff)
downloadgitlab-ce-29a91c5bc65524fffeaaba493f30c419b98f0869.tar.gz
Fix matcher `match_response_schema`
Diffstat (limited to 'spec')
-rw-r--r--spec/controllers/projects/boards/issues_controller_spec.rb2
-rw-r--r--spec/controllers/projects/boards/lists_controller_spec.rb4
-rw-r--r--spec/fixtures/api/schemas/issues.json4
-rw-r--r--spec/fixtures/api/schemas/lists.json4
-rw-r--r--spec/support/api/schema_matcher.rb5
5 files changed, 13 insertions, 6 deletions
diff --git a/spec/controllers/projects/boards/issues_controller_spec.rb b/spec/controllers/projects/boards/issues_controller_spec.rb
index ac034ced930..04df58bf4f6 100644
--- a/spec/controllers/projects/boards/issues_controller_spec.rb
+++ b/spec/controllers/projects/boards/issues_controller_spec.rb
@@ -26,7 +26,7 @@ describe Projects::Boards::IssuesController do
parsed_response = JSON.parse(response.body)
- expect(response).to match_response_schema('issue', array: true)
+ expect(response).to match_response_schema('issues')
expect(parsed_response.length).to eq 2
end
end
diff --git a/spec/controllers/projects/boards/lists_controller_spec.rb b/spec/controllers/projects/boards/lists_controller_spec.rb
index 8e6b496e1d6..92190b4b69e 100644
--- a/spec/controllers/projects/boards/lists_controller_spec.rb
+++ b/spec/controllers/projects/boards/lists_controller_spec.rb
@@ -29,7 +29,7 @@ describe Projects::Boards::ListsController do
parsed_response = JSON.parse(response.body)
- expect(response).to match_response_schema('list', array: true)
+ expect(response).to match_response_schema('lists')
expect(parsed_response.length).to eq 3
end
@@ -204,7 +204,7 @@ describe Projects::Boards::ListsController do
it 'returns the defaults lists' do
generate_default_board_lists user: user
- expect(response).to match_response_schema('list', array: true)
+ expect(response).to match_response_schema('lists')
end
end
diff --git a/spec/fixtures/api/schemas/issues.json b/spec/fixtures/api/schemas/issues.json
new file mode 100644
index 00000000000..0d2067f704a
--- /dev/null
+++ b/spec/fixtures/api/schemas/issues.json
@@ -0,0 +1,4 @@
+{
+ "type": "array",
+ "items": { "$ref": "issue.json" }
+}
diff --git a/spec/fixtures/api/schemas/lists.json b/spec/fixtures/api/schemas/lists.json
new file mode 100644
index 00000000000..9f618aa9de5
--- /dev/null
+++ b/spec/fixtures/api/schemas/lists.json
@@ -0,0 +1,4 @@
+{
+ "type": "array",
+ "items": { "$ref": "list.json" }
+}
diff --git a/spec/support/api/schema_matcher.rb b/spec/support/api/schema_matcher.rb
index 929b637e5eb..e42d727672b 100644
--- a/spec/support/api/schema_matcher.rb
+++ b/spec/support/api/schema_matcher.rb
@@ -1,9 +1,8 @@
-RSpec::Matchers.define :match_response_schema do |schema, options = {}|
+RSpec::Matchers.define :match_response_schema do |schema, **options|
match do |response|
schema_directory = "#{Dir.pwd}/spec/fixtures/api/schemas"
schema_path = "#{schema_directory}/#{schema}.json"
- list = options.fetch(:array, false)
- JSON::Validator.validate!(schema_path, response.body, list: list)
+ JSON::Validator.validate!(schema_path, response.body, options)
end
end