Sha256: 6d1571bf84b0be9d578a6f4bebb8771aa9ea4c136674ccc62adaaf11c4efbf94

Contents?: true

Size: 1.53 KB

Versions: 2

Compression:

Stored size: 1.53 KB

Contents

require 'hobo/metadata'

describe Hobo::Metadata do
  before do
    Hobo::Metadata.store = {}
    Hobo::Metadata.metadata = {}
    Hobo::Metadata.defaults = {}
  end

  describe "store" do
    it "should expose storage" do
      Hobo::Metadata.store[:opts] = {}
      Hobo::Metadata.store[:opts].should be {}
    end
  end

  describe "metadata" do
    it "should expose metadata" do
      Hobo::Metadata.store[:type] = "value"
      Hobo::Metadata.add "key", :type
      Hobo::Metadata.metadata["key"][:type].should match "value"
    end
  end

  describe "add" do
    it "should assign store value to task metadata for type" do
      Hobo::Metadata.store[:type] = "value"
      Hobo::Metadata.add "key", :type
      Hobo::Metadata.metadata["key"][:type].should match "value"
    end

    it "should set store value to default after add" do
      Hobo::Metadata.default :type, "value"
      Hobo::Metadata.add "key", :type
      Hobo::Metadata.metadata["key"][:type].should match "value"
    end
  end

  describe "default" do
    it "should store default value for type" do
      Hobo::Metadata.default :type, "default"
      Hobo::Metadata.add "key", :type
      Hobo::Metadata.metadata["key"][:type].should match "default"
    end
  end

  describe "reset" do
    it "should reset all current store values to defaults" do
      Hobo::Metadata.default :type, "default"
      Hobo::Metadata.add "key", :type
      Hobo::Metadata.add "key", :other_type
      Hobo::Metadata.reset_store
      Hobo::Metadata.store.should eq({ :type => "default" })
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hobo-inviqa-0.0.7 spec/hobo/metadata_spec.rb
hobo-inviqa-0.0.6 spec/hobo/metadata_spec.rb