3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehaserequire 'spec_helper'
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehasedescribe Api::V1::ChildrenController do
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase let(:ontology) { create :linked_distributed_ontology }
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase let(:repository) { ontology.repository }
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase context 'on GET to index' do
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase context 'requesting json representation', api_specification: true do
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase let(:children_schema) do
e568cc4d63d7d940acafc114bc74287b9cc0e480Eugen Kuksa schema_for_command('ontology/children', :get, 200)
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase end
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase before do
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase get :index,
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase repository_id: repository.to_param,
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase ontology_id: ontology.to_param,
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase locid: ontology.locid,
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase format: :json
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase end
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase it { should respond_with :success }
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase it 'respond with json content type' do
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase expect(response.content_type.to_s).to eq('application/json')
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase end
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase it 'should return a representation that validates against the schema' do
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase VCR.use_cassette 'api/json-schemata/ontology/children' do
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase expect(response.body).
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase to match_json_schema(children_schema)
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase end
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase end
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase end
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehase end
3da7bc412bbfe11a5fec5a93e938c7f9369dfd51Tim Reddehaseend