[219] | 1 | require File.dirname(__FILE__) + '/../../../../../spec_helper'
|
---|
| 2 | include OpenEHR::RM::DataTypes::Basic
|
---|
| 3 | include OpenEHR::RM::DataTypes::Text
|
---|
| 4 |
|
---|
| 5 | describe DvIdentifier do
|
---|
| 6 | before(:each) do
|
---|
| 7 | @dv_identifier = DvIdentifier.new(:issuer => 'Ruby Hospital',
|
---|
| 8 | :assigner => 'Information office',
|
---|
| 9 | :id => '0123456-0',
|
---|
| 10 | :type =>'personal id')
|
---|
| 11 | end
|
---|
| 12 |
|
---|
| 13 | it 'should be an instance of DvIdentifier' do
|
---|
| 14 | @dv_identifier.should be_an_instance_of DvIdentifier
|
---|
| 15 | end
|
---|
| 16 |
|
---|
| 17 | it 's issuer should be Ruby hospital' do
|
---|
| 18 | @dv_identifier.issuer.should == 'Ruby Hospital'
|
---|
| 19 | end
|
---|
| 20 |
|
---|
| 21 | it 's assigner should be Information office' do
|
---|
| 22 | @dv_identifier.assigner.should == 'Information office'
|
---|
| 23 | end
|
---|
| 24 |
|
---|
| 25 | it 's id should be 0123456-0' do
|
---|
| 26 | @dv_identifier.id.should == '0123456-0'
|
---|
| 27 | end
|
---|
| 28 |
|
---|
| 29 | it 's type should be personal id' do
|
---|
| 30 | @dv_identifier.type.should == 'personal id'
|
---|
| 31 | end
|
---|
| 32 |
|
---|
| 33 | it 's issuer should be change to other hospital' do
|
---|
| 34 | lambda {
|
---|
| 35 | @dv_identifier.issuer = 'Other Hospital'
|
---|
| 36 | }.should change(@dv_identifier, :issuer).
|
---|
| 37 | from('Ruby Hospital').to('Other Hospital')
|
---|
| 38 | end
|
---|
| 39 |
|
---|
| 40 | it 'raise ArgumentError for nil issuer' do
|
---|
| 41 | lambda {
|
---|
| 42 | @dv_identifier.issuer = nil
|
---|
| 43 | }.should raise_error(ArgumentError)
|
---|
| 44 | end
|
---|
| 45 |
|
---|
| 46 | it 'raise ArgumentError for empty issuer' do
|
---|
| 47 | lambda {
|
---|
| 48 | @dv_identifier.issuer = ''
|
---|
| 49 | }.should raise_error(ArgumentError)
|
---|
| 50 | end
|
---|
| 51 |
|
---|
| 52 | it 's assigner should change from Information office to Service office' do
|
---|
| 53 | lambda {
|
---|
| 54 | @dv_identifier.assigner = 'Service office'
|
---|
| 55 | }.should change{@dv_identifier.assigner}.
|
---|
| 56 | from('Information office').to('Service office')
|
---|
| 57 | end
|
---|
| 58 |
|
---|
| 59 | it 'raise ArgumentError for nil assigner' do
|
---|
| 60 | lambda {
|
---|
| 61 | @dv_identifier.assigner = nil
|
---|
| 62 | }.should raise_error(ArgumentError)
|
---|
| 63 | end
|
---|
| 64 |
|
---|
| 65 | it 'raise ArgumentError for empty assigner' do
|
---|
| 66 | lambda {
|
---|
| 67 | @dv_identifier.assigner = ''
|
---|
| 68 | }.should raise_error(ArgumentError)
|
---|
| 69 | end
|
---|
| 70 |
|
---|
| 71 | it 's id should change from 0123456-0 to TEST-0987' do
|
---|
| 72 | lambda {
|
---|
| 73 | @dv_identifier.id = 'TEST-0987'
|
---|
| 74 | }.should change(@dv_identifier, :id).
|
---|
| 75 | from('0123456-0').to('TEST-0987')
|
---|
| 76 | end
|
---|
| 77 |
|
---|
| 78 | it 'raise ArgumentError for nil id' do
|
---|
| 79 | lambda {
|
---|
| 80 | @dv_identifier.id = nil
|
---|
| 81 | }.should raise_error(ArgumentError)
|
---|
| 82 | end
|
---|
| 83 |
|
---|
| 84 | it 'raise ArgumentError for empty id' do
|
---|
| 85 | lambda {
|
---|
| 86 | @dv_identifier.id = ''
|
---|
| 87 | }.should raise_error(ArgumentError)
|
---|
| 88 | end
|
---|
| 89 |
|
---|
| 90 | it 's type should change form personal id to test id' do
|
---|
| 91 | lambda {
|
---|
| 92 | @dv_identifier.type = "test id"
|
---|
| 93 | }.should change(@dv_identifier, :type).
|
---|
| 94 | from('personal id').to('test id')
|
---|
| 95 | end
|
---|
| 96 |
|
---|
| 97 | it 'raise ArgumentError for nil type' do
|
---|
| 98 | lambda {
|
---|
| 99 | @dv_identifier.type = nil
|
---|
| 100 | }.should raise_error(ArgumentError)
|
---|
| 101 | end
|
---|
| 102 |
|
---|
| 103 | it 'raise ArgumentError for empty issuer' do
|
---|
| 104 | lambda {
|
---|
| 105 | @dv_identifier.type = ''
|
---|
| 106 | }.should raise_error(ArgumentError)
|
---|
| 107 | end
|
---|
| 108 | end
|
---|