Sha256: 50e8d8a2192dbf178be3001bed488edfc653c5adf7cdd1c56e247f25dc3bc18c

Contents?: true

Size: 810 Bytes

Versions: 8

Compression:

Stored size: 810 Bytes

Contents

shared_examples_for 'workflow' do |name|
  let(:obj){ send name }
  
  before(:each) do
    Cellect::Server.adapter.load_workflow obj.name
  end
  
  it 'should add singleton instances to the registry' do
    expect(obj.class[obj.name]).to be_a_kind_of Cellect::Server::Workflow
    expect(obj.class[obj.name].object_id).to eq obj.class[obj.name].object_id
  end
  
  it 'should initialize empty' do
    expect(obj.name).to be_a String
    expect(obj.users).to be_a Hash
    
    set_klass = obj.prioritized? ? DiffSet::PrioritySet : DiffSet::RandomSet
    expect(obj.subjects).to be_a set_klass
  end
  
  it 'should provide a user lookup' do
    expect(obj.user(1)).to be_a Cellect::Server::User
    expect(obj.user(1).object_id).to eq obj.user(1).object_id
    expect(obj.users.keys).to include 1
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
cellect-server-0.1.3 spec/support/shared_examples_for_workflow.rb
cellect-client-0.1.3 spec/support/shared_examples_for_workflow.rb
cellect-client-0.1.2.pre.jruby spec/support/shared_examples_for_workflow.rb
cellect-server-0.1.2.pre.jruby spec/support/shared_examples_for_workflow.rb
cellect-client-0.1.2 spec/support/shared_examples_for_workflow.rb
cellect-server-0.1.2 spec/support/shared_examples_for_workflow.rb
cellect-client-0.1.1 spec/support/shared_examples_for_workflow.rb
cellect-server-0.1.1 spec/support/shared_examples_for_workflow.rb