Sha256: da9f4299a52af6e4d1096f61dbf5d105fe295df128d5ace876b9cdaa8218d0de

Contents?: true

Size: 1 KB

Versions: 5

Compression:

Stored size: 1 KB

Contents

require 'spec_helper'

describe Fidor::Schema do

  context 'path' do
    it 'should provide path to schema files' do
      expect(Fidor::Schema.path).to eq(File.expand_path( File.join('../schema/v1.0'), File.dirname(__FILE__)))
    end
  end

  context 'read schemata' do

    it 'should read all json files' do
      SchemaTools.schema_path = Fidor::Schema.path
      SchemaTools::Reader.read_all
      expect(SchemaTools::Reader.registry).to_not be_empty
    end

  end

  context 'resolves $refs' do

    it 'in single schema' do
      SchemaTools.schema_path = Fidor::Schema.path
      schema = SchemaTools::Reader.read('accounts').to_h
      expect(schema['properties']['accounts']['items']['properties']['id']['type']).to eq 'string'

    end

    it 'should resolve all' do
      SchemaTools.schema_path = Fidor::Schema.path
      SchemaTools::Reader.read_all
      out = []
      SchemaTools::Reader.registry.each{|n, i|
        out << "#{i.to_h}"
      }
      expect(out).to_not include('$ref')
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fidor_schema-0.3.5 spec/fidor_schema_spec.rb
fidor_schema-0.3.4 spec/fidor_schema_spec.rb
fidor_schema-0.3.3 spec/fidor_schema_spec.rb
fidor_schema-0.3.2 spec/fidor_schema_spec.rb
fidor_schema-0.3.1 spec/fidor_schema_spec.rb