Sha256: 2280fbb353608daf016bf79342a7df310cda5fdbccf4d1f02a0e2723fafc0605

Contents?: true

Size: 1.42 KB

Versions: 9

Compression:

Stored size: 1.42 KB

Contents

require 'model/spec_helper'
require 'model/models/licensed_model'

require 'ronin/model/has_license'

describe Model::HasLicense do
  subject { LicensedModel }

  before(:all) do
    subject.auto_migrate!

    subject.create(
      :content => 'stuff here',
      :license => License.gpl2
    )
  end

  it "should include Ronin::Model" do
    subject.ancestors.should include(Model)
  end

  it "should define a license relationship" do
    relationship = subject.relationships['license']

    relationship.should_not be_nil
    relationship.parent_model.should == License
  end

  it "should define relationships with License" do
    relationship = License.relationships['licensed_models']
    
    relationship.should_not be_nil
    relationship.child_model.should == subject
  end

  it "should not require a license" do
    resource = subject.new(:content => 'bla')

    resource.should be_valid
  end

  describe "licensed_under" do
    let(:license) { License.gpl2 }

    it "should accept License resources" do
      resource = subject.licensed_under(license).first

      resource.license.should == license
    end

    it "should accept the names of predefined Licenses" do
      resource = subject.licensed_under(:gpl2).first

      resource.license.should == license
    end

    it "should accept the names of licenses" do
      resource = subject.licensed_under('GPL-2').first

      resource.license.should == license
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
ronin-1.3.0 spec/model/has_license_spec.rb
ronin-1.2.0 spec/model/has_license_spec.rb
ronin-1.1.0 spec/model/has_license_spec.rb
ronin-1.1.0.rc3 spec/model/has_license_spec.rb
ronin-1.1.0.rc2 spec/model/has_license_spec.rb
ronin-1.1.0.rc1 spec/model/has_license_spec.rb
ronin-1.0.0 spec/model/has_license_spec.rb
ronin-1.0.0.rc3 spec/model/has_license_spec.rb
ronin-1.0.0.rc2 spec/model/has_license_spec.rb