diff options
-rw-r--r-- | spec/controllers/projects/boards/issues_controller_spec.rb | 2 | ||||
-rw-r--r-- | spec/controllers/projects/boards/lists_controller_spec.rb | 4 | ||||
-rw-r--r-- | spec/fixtures/api/schemas/issues.json | 4 | ||||
-rw-r--r-- | spec/fixtures/api/schemas/lists.json | 4 | ||||
-rw-r--r-- | spec/support/api/schema_matcher.rb | 5 |
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 |