[363] | 1 | require File.dirname(__FILE__) + '/../../../../spec_helper'
|
---|
| 2 | include OpenEHR::RM::Demographic
|
---|
| 3 | include OpenEHR::RM::DataTypes::Text
|
---|
| 4 | include OpenEHR::RM::Support::Identification
|
---|
| 5 |
|
---|
| 6 | describe Actor do
|
---|
| 7 | before(:each) do
|
---|
| 8 | name = DvText.new(:value => 'actor')
|
---|
| 9 | uid = HierObjectID.new(:value => '01')
|
---|
| 10 | identities = stub(Set, :empty? => false)
|
---|
| 11 | roles = stub(Set, :size => 2, :empty? => false)
|
---|
| 12 | languages = stub(Array, :size => 3, :empty? => false)
|
---|
| 13 | @actor = Actor.new(:archetype_node_id => 'at0000',
|
---|
| 14 | :name => name,
|
---|
| 15 | :uid => uid,
|
---|
| 16 | :identities => identities,
|
---|
| 17 | :roles => roles,
|
---|
| 18 | :languages => languages)
|
---|
| 19 | end
|
---|
| 20 |
|
---|
| 21 | it 'should be an instance of Actor' do
|
---|
| 22 | @actor.should be_an_instance_of Actor
|
---|
| 23 | end
|
---|
| 24 |
|
---|
| 25 | it 'roles should be assigned properly' do
|
---|
| 26 | @actor.roles.size.should be_equal 2
|
---|
| 27 | end
|
---|
| 28 |
|
---|
| 29 | it 'should raise ArgumentError with empty roles' do
|
---|
| 30 | lambda {
|
---|
| 31 | @actor.roles = Set.new
|
---|
| 32 | }.should raise_error ArgumentError
|
---|
| 33 | end
|
---|
| 34 |
|
---|
| 35 | it 'should not raise ArgumentError with nil roles' do
|
---|
| 36 | lambda {
|
---|
| 37 | @actor.roles = nil
|
---|
| 38 | }.should_not raise_error ArgumentError
|
---|
| 39 | end
|
---|
| 40 |
|
---|
| 41 | it 'languages should be assigned properly' do
|
---|
| 42 | @actor.languages.size.should be_equal 3
|
---|
| 43 | end
|
---|
| 44 |
|
---|
| 45 | it 'should raise ArgumentError with empty languages' do
|
---|
| 46 | lambda {
|
---|
| 47 | @actor.languages = Set.new
|
---|
| 48 | }.should raise_error ArgumentError
|
---|
| 49 | end
|
---|
| 50 |
|
---|
| 51 | it 'should not raise ArgumentError with nil languages' do
|
---|
| 52 | lambda {
|
---|
| 53 | @actor.languages = nil
|
---|
| 54 | }.should_not raise_error ArgumentError
|
---|
| 55 | end
|
---|
| 56 |
|
---|
| 57 | describe 'has_legal_identity' do
|
---|
| 58 | before(:each) do
|
---|
| 59 | @dummy_purpose = DvText.new(:value => 'dummy')
|
---|
| 60 | @dummy_identity = stub(PartyIdentity, :purpose => @dummy_purpose)
|
---|
| 61 | end
|
---|
| 62 |
|
---|
| 63 | it 'should not have legal identity' do
|
---|
| 64 | identity = stub(PartyIdentity, :purpose => @dummy_purpose)
|
---|
| 65 | identities = [identity, @dummy_identity].to_set
|
---|
| 66 | @actor.identities = identities
|
---|
| 67 | @actor.has_legal_identity?.should be_false
|
---|
| 68 | end
|
---|
| 69 |
|
---|
| 70 | it 'should have legal identity' do
|
---|
| 71 | legal_purpose = DvText.new(:value => 'legal identity')
|
---|
| 72 | legal_identity = stub(PartyIdentity, :purpose => legal_purpose)
|
---|
| 73 | identities = [@dummy_identity, legal_identity].to_set
|
---|
| 74 | @actor.identities = identities
|
---|
| 75 | @actor.has_legal_identity?.should be_true
|
---|
| 76 | end
|
---|
| 77 | end
|
---|
| 78 | end
|
---|
| 79 |
|
---|