Sha256: 5b190b96009d79c7f8d14369abf76dd4a75620c81ed62a823e4ff70f9dcbe265

Contents?: true

Size: 1.18 KB

Versions: 8

Compression:

Stored size: 1.18 KB

Contents

require 'rails_helper'

describe PaidUp::Feature do
  include_context 'loaded site'

  it { should validate_presence_of(:slug) }
  it { should validate_presence_of(:title) }
  it { should validate_presence_of(:setting_type) }
  it do
    should(
      validate_inclusion_of(:setting_type).in_array(
        %w(boolean table_rows rolify_rows)
      )
    )
  end

  context '#feature_model' do
    subject { groups_feature.feature_model }
    it { should eq Group }
  end

  context '#feature_model_name' do
    subject { groups_feature.feature_model_name }
    it { should eq 'Group' }
  end

  context '.raw' do
    subject { PaidUp::Feature.raw }
    it do
      should(
        eq(
          ad_free: ad_free_feature,
          groups: groups_feature,
          doodads: doodads_feature
        )
      )
    end
  end

  context '.all' do
    subject { PaidUp::Feature.all }
    it { should eq [ad_free_feature, groups_feature, doodads_feature] }
  end

  context '.find_all' do
    subject { PaidUp::Feature.find_all(setting_type: 'rolify_rows') }
    it { should be_an Array }
  end

  context '.find' do
    subject { PaidUp::Feature.find(slug: 'groups') }
    it { should be_a PaidUp::Feature }
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
paid_up-0.10.4 spec/models/paid_up/feature_spec.rb
paid_up-0.10.3 spec/models/paid_up/feature_spec.rb
paid_up-0.10.2 spec/models/paid_up/feature_spec.rb
paid_up-0.10.1 spec/models/paid_up/feature_spec.rb
paid_up-0.10.0 spec/models/paid_up/feature_spec.rb
paid_up-0.9.16 spec/models/paid_up/feature_spec.rb
paid_up-0.9.15 spec/models/paid_up/feature_spec.rb
paid_up-0.9.14 spec/models/paid_up/feature_spec.rb