Sha256: f5a559a53c95963e820a1445111c3925b29cde85d4fc63eab838e839e06a219d

Contents?: true

Size: 948 Bytes

Versions: 1

Compression:

Stored size: 948 Bytes

Contents

shared_examples_for 'a permission set' do
  it 'has unique values' do
    values = %w(one two two three)

    permission_set = described_class.new(values)
    permission_set.to_a.should == values.uniq
  end

  it 'initializes with no values' do
    lambda{ described_class.new }.should_not raise_error
    described_class.new.should be_empty
  end

  it 'stringifies values when initializing' do
    values = [:one, :two, :three]

    permission_set = described_class.new(values)
    permission_set.to_a.should == values.map(&:to_s)
  end

  it 'stringifies values when adding' do
    values = [:one, :two, :three]

    permission_set = described_class.new + values
    permission_set.to_a.should == values.map(&:to_s)
  end

  it 'stringifies a value when checking for inclusion' do
    values = %w(one two three)
    value = values.first.to_sym

    permission_set = described_class.new(values)
    permission_set.should include(value)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
periscope-0.1.0 spec/support/permission_set_examples.rb