Sha256: df4d62a6f4bc1dbfdf2493f959293bae0a814241c8c9354cb5ab2d2bf025082c

Contents?: true

Size: 1.47 KB

Versions: 6

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true
require "spec_helper"

describe ActiveTriples::Configurable do
  before do
    class DummyConfigurable
      extend ActiveTriples::Configurable
    end
  end

  after do
    Object.send(:remove_const, "DummyConfigurable")
  end

  it "should be okay if not configured" do
    expect(DummyConfigurable.type).to eq nil
  end

  it "should be okay if configured to nil" do
    DummyConfigurable.configure :type => nil
    expect(DummyConfigurable.type).to eq []
  end

  describe '#configure' do
    before do
      DummyConfigurable.configure base_uri: "http://example.org/base", type: RDF::RDFS.Class, rdf_label: RDF::Vocab::DC.title
    end

    it 'should set a base uri' do
      expect(DummyConfigurable.base_uri).to eq "http://example.org/base"
    end

    it "should be able to set multiple types" do
      DummyConfigurable.configure type: [RDF::RDFS.Container, RDF::RDFS.ContainerMembershipProperty]
      expect(DummyConfigurable.type).to contain_exactly(RDF::RDFS.Class, RDF::RDFS.Container, RDF::RDFS.ContainerMembershipProperty)
    end

    it 'should set an rdf_label' do
      expect(DummyConfigurable.rdf_label).to eq RDF::Vocab::DC.title
    end

    it 'should set a type' do
      expect(DummyConfigurable.type).to eq [RDF::RDFS.Class]
    end

    it "should be able to set multiple types" do
      DummyConfigurable.configure type: RDF::RDFS.Container
      expect(DummyConfigurable.type).to eq [RDF::RDFS.Class, RDF::RDFS.Container]
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
active-triples-0.10.2 spec/active_triples/configurable_spec.rb
active-triples-0.10.1 spec/active_triples/configurable_spec.rb
active-triples-0.10.0 spec/active_triples/configurable_spec.rb
active-triples-0.9.0 spec/active_triples/configurable_spec.rb
active-triples-0.8.3 spec/active_triples/configurable_spec.rb
active-triples-0.8.2 spec/active_triples/configurable_spec.rb