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
|
---|