[364] | 1 | require File.dirname(__FILE__) + '/../../../../spec_helper'
|
---|
| 2 | include OpenEHR::RM::Demographic
|
---|
| 3 | include OpenEHR::RM::DataTypes::Text
|
---|
| 4 | include OpenEHR::RM::DataTypes::Quantity::DateTime
|
---|
| 5 | include OpenEHR::RM::Support::Identification
|
---|
| 6 |
|
---|
| 7 | describe Role do
|
---|
| 8 | before(:each) do
|
---|
| 9 | name = DvText.new(:value => 'role')
|
---|
| 10 | uid = HierObjectID.new(:value => '01')
|
---|
| 11 | identities = stub(Set, :empty? => false)
|
---|
| 12 | capabilities = stub(Array, :size => 2, :empty? => false)
|
---|
| 13 | lower = DvDate.new(:value => '2009-11-21')
|
---|
| 14 | time_validity = stub(DvInterval, :lower => lower)
|
---|
| 15 | performer = stub(PartyRef, :type => 'ROLE')
|
---|
| 16 | @role = Role.new(:archetype_node_id => 'at0000',
|
---|
| 17 | :name => name,
|
---|
| 18 | :uid => uid,
|
---|
| 19 | :identities => identities,
|
---|
| 20 | :performer => performer,
|
---|
| 21 | :capabilities => capabilities,
|
---|
| 22 | :time_validity => time_validity)
|
---|
| 23 | end
|
---|
| 24 |
|
---|
| 25 | it 'should be an instance of Role' do
|
---|
| 26 | @role.should be_an_instance_of Role
|
---|
| 27 | end
|
---|
| 28 |
|
---|
| 29 | it 'performer should assigned properly' do
|
---|
| 30 | @role.performer.type.should == 'ROLE'
|
---|
| 31 | end
|
---|
| 32 |
|
---|
| 33 | it 'should raise ArgumentError with nil performer' do
|
---|
| 34 | lambda {
|
---|
| 35 | @role.performer = nil
|
---|
| 36 | }.should raise_error ArgumentError
|
---|
| 37 | end
|
---|
| 38 |
|
---|
| 39 | it 'capabilities should be assigned properly' do
|
---|
| 40 | @role.capabilities.size.should be_equal 2
|
---|
| 41 | end
|
---|
| 42 |
|
---|
| 43 | it 'should raise ArgumentError with empty capabilities' do
|
---|
| 44 | lambda {
|
---|
| 45 | @role.capabilities = [ ]
|
---|
| 46 | }.should raise_error ArgumentError
|
---|
| 47 | end
|
---|
| 48 |
|
---|
| 49 | it 'should not raise ArgumentError with nil capabilities' do
|
---|
| 50 | lambda {
|
---|
| 51 | @role.capabilities = nil
|
---|
| 52 | }.should_not raise_error ArgumentError
|
---|
| 53 | end
|
---|
| 54 |
|
---|
| 55 | it 'time_validity should be properly assigned' do
|
---|
| 56 | @role.time_validity.lower.value.should == '2009-11-21'
|
---|
| 57 | end
|
---|
| 58 | end
|
---|