ucb_ldap 2.0.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.irbrc +8 -0
- data/.travis.yml +19 -0
- data/CHANGELOG +8 -0
- data/README.md +27 -15
- data/lib/ucb_ldap.rb +11 -27
- data/lib/ucb_ldap/address.rb +14 -9
- data/lib/ucb_ldap/affiliation.rb +5 -3
- data/lib/ucb_ldap/entry.rb +6 -101
- data/lib/ucb_ldap/job_appointment.rb +22 -13
- data/lib/ucb_ldap/namespace.rb +4 -2
- data/lib/ucb_ldap/person.rb +8 -6
- data/lib/ucb_ldap/person/affiliation_methods.rb +6 -3
- data/lib/ucb_ldap/person/common_attributes.rb +6 -3
- data/lib/ucb_ldap/schema.rb +2 -2
- data/lib/ucb_ldap/schema_attribute.rb +3 -3
- data/lib/ucb_ldap/service.rb +2 -3
- data/lib/ucb_ldap/student_term.rb +34 -19
- data/lib/ucb_ldap/version.rb +1 -1
- data/ucb_ldap.gemspec +8 -5
- metadata +10 -36
- data/spec/rails_binds.yml +0 -9
- data/spec/spec_helper.rb +0 -43
- data/spec/ucb_ldap/address_spec.rb +0 -54
- data/spec/ucb_ldap/affiliation_spec.rb +0 -85
- data/spec/ucb_ldap/entry_spec.rb +0 -241
- data/spec/ucb_ldap/job_appointment_spec.rb +0 -65
- data/spec/ucb_ldap/namespace_spec.rb +0 -72
- data/spec/ucb_ldap/org_spec.rb +0 -217
- data/spec/ucb_ldap/person_spec.rb +0 -225
- data/spec/ucb_ldap/schema_attribute_spec.rb +0 -122
- data/spec/ucb_ldap/schema_spec.rb +0 -104
- data/spec/ucb_ldap/service_spec.rb +0 -127
- data/spec/ucb_ldap/student_term_spec.rb +0 -121
- data/spec/ucb_ldap_spec.rb +0 -182
@@ -1,122 +0,0 @@
|
|
1
|
-
require_relative "../spec_helper"
|
2
|
-
|
3
|
-
|
4
|
-
describe "The UCB::LDAP::Schema::Attribute constructor" do
|
5
|
-
it "should set name instance variable" do
|
6
|
-
UCB::LDAP::Schema::Attribute.new("name" => "attr_name").name.should == "attr_name"
|
7
|
-
end
|
8
|
-
|
9
|
-
it "should set type instance variable" do
|
10
|
-
UCB::LDAP::Schema::Attribute.new("syntax" => "string").type.should == "string"
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should set description instance variable" do
|
14
|
-
UCB::LDAP::Schema::Attribute.new("description" => "attr_descr").description.should == "attr_descr"
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should aliases instance variable (empty and present)" do
|
18
|
-
UCB::LDAP::Schema::Attribute.new({}).aliases.should == []
|
19
|
-
UCB::LDAP::Schema::Attribute.new("aliases" => ["a", "b"]).aliases.should == ["a", "b"]
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should set required instance variable" do
|
23
|
-
UCB::LDAP::Schema::Attribute.new("required" => true).required?.should be_true
|
24
|
-
UCB::LDAP::Schema::Attribute.new("required" => false).required?.should be_false
|
25
|
-
end
|
26
|
-
|
27
|
-
it "should set multi_valued instance variable" do
|
28
|
-
UCB::LDAP::Schema::Attribute.new("multi" => true).multi_valued?.should be_true
|
29
|
-
UCB::LDAP::Schema::Attribute.new("multi" => false).multi_valued?.should be_false
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
|
34
|
-
describe "Schema::Attribute get_value() for multi_valued" do
|
35
|
-
it "should return array when multi_valued" do
|
36
|
-
Schema::Attribute.new("multi" => true, "syntax" => "string").get_value(%w{1 2}).should == %w{1 2}
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should return empty array when multi_valued and no value" do
|
40
|
-
Schema::Attribute.new("multi" => true, "syntax" => "string").get_value(nil).should == []
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
|
45
|
-
describe "Schema::Attribute get_value() for not multi_valued" do
|
46
|
-
it "should return scalar when not multi_valued" do
|
47
|
-
Schema::Attribute.new("multi" => false, "syntax" => "string").get_value(%w{1}).should == "1"
|
48
|
-
end
|
49
|
-
|
50
|
-
it "should return nil when not multi_valued and no value" do
|
51
|
-
Schema::Attribute.new("multi" => false).get_value(nil).should be_nil
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
|
56
|
-
describe "Schema::Attribute get_value() for string" do
|
57
|
-
it "returns string" do
|
58
|
-
Schema::Attribute.new("syntax" => "string", "multi" => true).get_value(%w{1 2}).should == ["1", "2"]
|
59
|
-
Schema::Attribute.new("syntax" => "string", "multi" => false).get_value(%w{1}).should == "1"
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
|
64
|
-
describe "Schema::Attribute get_value() for integer" do
|
65
|
-
it "returns integer" do
|
66
|
-
Schema::Attribute.new("syntax" => "integer", "multi" => true).get_value(%w{1 2}).should == [1, 2]
|
67
|
-
Schema::Attribute.new("syntax" => "integer", "multi" => false).get_value(%w{1}).should == 1
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
|
72
|
-
describe "Schema::Attribute get_value() for boolean" do
|
73
|
-
it "returns boolean" do
|
74
|
-
Schema::Attribute.new("syntax" => "boolean").get_value(["true"]).should be_true
|
75
|
-
Schema::Attribute.new("syntax" => "boolean").get_value(["1"]).should be_true
|
76
|
-
Schema::Attribute.new("syntax" => "boolean").get_value(["false"]).should be_false
|
77
|
-
Schema::Attribute.new("syntax" => "boolean").get_value([""]).should be_false
|
78
|
-
Schema::Attribute.new("syntax" => "boolean").get_value(nil).should be_false
|
79
|
-
end
|
80
|
-
end
|
81
|
-
|
82
|
-
|
83
|
-
describe "Schema::Attribute get_value() for timestamp" do
|
84
|
-
it "returns Date" do
|
85
|
-
schema_attribute = Schema::Attribute.new("syntax" => "timestamp")
|
86
|
-
datetime = schema_attribute.get_value(["19980101123456Z"])
|
87
|
-
datetime.class.should == DateTime
|
88
|
-
datetime.to_s.should == "1998-01-01T04:34:56-08:00"
|
89
|
-
|
90
|
-
schema_attribute.get_value(nil).should be_nil
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
|
-
|
95
|
-
describe "Schema::Attribute ldap_value()" do
|
96
|
-
before do
|
97
|
-
@a = Schema::Attribute.new({})
|
98
|
-
end
|
99
|
-
|
100
|
-
it "should return an Array when given an Array" do
|
101
|
-
@a.ldap_value(["foo"]).should == ["foo"]
|
102
|
-
end
|
103
|
-
|
104
|
-
it "should return an Array when given a scalar" do
|
105
|
-
@a.ldap_value("foo").should == ["foo"]
|
106
|
-
end
|
107
|
-
|
108
|
-
it "should return Array of String regardless of input type" do
|
109
|
-
@a.ldap_value(1).should == ["1"]
|
110
|
-
@a.ldap_value([1, true, "three"]).should == ["1", "true", "three"]
|
111
|
-
end
|
112
|
-
|
113
|
-
it "should return nil when passed nil" do
|
114
|
-
@a.ldap_value(nil).should be_nil
|
115
|
-
end
|
116
|
-
|
117
|
-
it "should remove leading/trailing spaces, any newlines" do
|
118
|
-
@a.ldap_value(' foo').should == ['foo']
|
119
|
-
@a.ldap_value('foo ').should == ['foo']
|
120
|
-
@a.ldap_value("f\noo").should == ['foo']
|
121
|
-
end
|
122
|
-
end
|
@@ -1,104 +0,0 @@
|
|
1
|
-
require_relative "../spec_helper"
|
2
|
-
|
3
|
-
|
4
|
-
describe "UCB::LDAP::Schema" do
|
5
|
-
before(:all) do
|
6
|
-
@schema_yaml = IO.read(Schema::SCHEMA_FILE)
|
7
|
-
end
|
8
|
-
|
9
|
-
before(:each) do
|
10
|
-
Schema.schema_hash = nil
|
11
|
-
Schema.schema_file = nil
|
12
|
-
Schema.schema_base_url = nil
|
13
|
-
Schema.schema_content_path = nil
|
14
|
-
end
|
15
|
-
|
16
|
-
it "should define SCHEMA_URL" do
|
17
|
-
Schema::SCHEMA_BASE_URL.class.should == String
|
18
|
-
end
|
19
|
-
|
20
|
-
it "schema_base_url() should default to SCHEMA_BASE_URL constant" do
|
21
|
-
Schema.schema_base_url.should == Schema::SCHEMA_BASE_URL
|
22
|
-
end
|
23
|
-
|
24
|
-
it "schema_base_url() can be reset" do
|
25
|
-
Schema.schema_base_url = "foo"
|
26
|
-
Schema.schema_base_url.should == "foo"
|
27
|
-
end
|
28
|
-
|
29
|
-
it "schema_content_path() should default to SCHEMA_CONTENT_PATH constant" do
|
30
|
-
Schema.schema_content_path.should == Schema::SCHEMA_CONTENT_PATH
|
31
|
-
end
|
32
|
-
|
33
|
-
it "schema_content_path() can be reset" do
|
34
|
-
Schema.schema_content_path = "foo"
|
35
|
-
Schema.schema_content_path.should == "foo"
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should get schema yaml from url" do
|
39
|
-
@yaml = Schema.yaml_from_url
|
40
|
-
%w{person: org:}.each do |entity|
|
41
|
-
@yaml.should include(entity)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
it "should load attributes from url" do
|
46
|
-
Schema.schema_hash_i.should be_nil
|
47
|
-
Schema.should_receive(:yaml_from_url).and_return(@schema_yaml)
|
48
|
-
Schema.load_attributes_from_url
|
49
|
-
verify_schema_hash
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should define SCHEMA_FILE" do
|
53
|
-
Schema::SCHEMA_FILE.class.should == String
|
54
|
-
end
|
55
|
-
|
56
|
-
it "schema_file() should default to SCHEMA_FILE constant" do
|
57
|
-
Schema.schema_file.should == Schema::SCHEMA_FILE
|
58
|
-
end
|
59
|
-
|
60
|
-
it "schema_file() can be reset" do
|
61
|
-
Schema.schema_file = "foo"
|
62
|
-
Schema.schema_file.should == "foo"
|
63
|
-
end
|
64
|
-
|
65
|
-
it "should get schema yaml from file" do
|
66
|
-
yaml = Schema.yaml_from_file
|
67
|
-
verify_yaml(yaml)
|
68
|
-
end
|
69
|
-
|
70
|
-
it "should load attributes from file" do
|
71
|
-
Schema.schema_hash_i.should be_nil
|
72
|
-
Schema.load_attributes_from_file
|
73
|
-
verify_schema_hash
|
74
|
-
end
|
75
|
-
|
76
|
-
it "should load_attributes from url if available" do
|
77
|
-
Schema.schema_hash_i.should be_nil
|
78
|
-
Schema.should_receive(:yaml_from_url).and_return(@schema_yaml)
|
79
|
-
Schema.should_not_receive(:load_attributes_from_file)
|
80
|
-
UCB::LDAP::Schema.load_attributes
|
81
|
-
verify_schema_hash
|
82
|
-
end
|
83
|
-
|
84
|
-
it "should load_attributes from local file if url data not available" do
|
85
|
-
Schema.schema_hash_i.should be_nil
|
86
|
-
Schema.should_receive(:load_attributes_from_url).and_raise("schema unavailable from url")
|
87
|
-
Schema.load_attributes
|
88
|
-
verify_schema_hash
|
89
|
-
end
|
90
|
-
|
91
|
-
# Verify we have something that looks like the schema yaml file
|
92
|
-
def verify_yaml(yaml)
|
93
|
-
yaml.should be_instance_of(String)
|
94
|
-
yaml.should have_at_least(40_000).characters
|
95
|
-
%w{person: personAddress: syntax:}.each{|s| yaml.should include(s)}
|
96
|
-
end
|
97
|
-
|
98
|
-
# Verify schema_hash looks right
|
99
|
-
def verify_schema_hash
|
100
|
-
Schema.schema_hash_i.should be_instance_of(Hash)
|
101
|
-
%w{person org}.each{|e| Schema.schema_hash.keys.should include(e)}
|
102
|
-
end
|
103
|
-
|
104
|
-
end
|
@@ -1,127 +0,0 @@
|
|
1
|
-
require_relative "../spec_helper"
|
2
|
-
|
3
|
-
|
4
|
-
describe UCB::LDAP::Service do
|
5
|
-
before(:all) do
|
6
|
-
service_bind
|
7
|
-
@student_uid = "61065"
|
8
|
-
@student = Person.find_by_uid(@student_uid)
|
9
|
-
@dt_str = '20010203080000Z'
|
10
|
-
@dt_exp = '2001-02-03T00:00:00-08:00'
|
11
|
-
end
|
12
|
-
|
13
|
-
after(:all) do
|
14
|
-
UCB::LDAP.clear_authentication
|
15
|
-
end
|
16
|
-
|
17
|
-
it "find_by_uid(uid) should return terms" do
|
18
|
-
Service.find_by_uid(@student_uid).class.should == Array
|
19
|
-
end
|
20
|
-
|
21
|
-
it "Person should find services" do
|
22
|
-
@student.services.class.should == Array
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should return eligible_by" do
|
26
|
-
Service.new({}).eligible_by.should be_nil
|
27
|
-
Service.new({:berkeleyEduPersonServiceEligibleBy => ['foo']}).eligible_by.should == 'foo'
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should return eligible_date" do
|
31
|
-
Service.new({}).eligible_date.should be_nil
|
32
|
-
s = Service.new({:berkeleyEduPersonServiceEligibleDate => [@dt_str]})
|
33
|
-
s.eligible_date.class.should == DateTime
|
34
|
-
s.eligible_date.to_s.should == @dt_exp
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should return ended_by" do
|
38
|
-
Service.new({}).ended_by.should be_nil
|
39
|
-
Service.new({:berkeleyEduPersonServiceEndBy => ['foo']}).ended_by.should == 'foo'
|
40
|
-
end
|
41
|
-
|
42
|
-
it "should return end_date" do
|
43
|
-
Service.new({}).end_date.should be_nil
|
44
|
-
s = Service.new({:berkeleyEduPersonServiceEndDate => [@dt_str]})
|
45
|
-
s.end_date.class.should == DateTime
|
46
|
-
s.end_date.to_s.should == @dt_exp
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should return entered_by" do
|
50
|
-
Service.new({}).entered_by.should be_nil
|
51
|
-
Service.new({:berkeleyEduPersonServiceEnteredBy => ['foo']}).entered_by.should == 'foo'
|
52
|
-
end
|
53
|
-
|
54
|
-
it "should return entered_date" do
|
55
|
-
Service.new({}).entered_date.should be_nil
|
56
|
-
s = Service.new({:berkeleyEduPersonServiceEnteredDate => [@dt_str]})
|
57
|
-
s.entered_date.class.should == DateTime
|
58
|
-
s.entered_date.to_s.should == @dt_exp
|
59
|
-
end
|
60
|
-
|
61
|
-
it "should return level" do
|
62
|
-
Service.new({}).level.should be_nil
|
63
|
-
Service.new({:berkeleyEduPersonServiceLevel => ['42']}).level.should == 42
|
64
|
-
end
|
65
|
-
|
66
|
-
it "should return modified_by" do
|
67
|
-
Service.new({}).modified_by.should be_nil
|
68
|
-
Service.new({:berkeleyEduPersonServiceModifiedBy => ['foo']}).modified_by.should == 'foo'
|
69
|
-
end
|
70
|
-
|
71
|
-
it "should return modified_date" do
|
72
|
-
Service.new({}).modified_date.should be_nil
|
73
|
-
s = Service.new({:berkeleyEduPersonServiceModifiedDate => [@dt_str]})
|
74
|
-
s.modified_date.class.should == DateTime
|
75
|
-
s.modified_date.to_s.should == @dt_exp
|
76
|
-
end
|
77
|
-
|
78
|
-
it "should return naughty_bit" do
|
79
|
-
Service.new({}).naughty_bit.should be_false
|
80
|
-
Service.new({:berkeleyEduPersonServiceNaughtyBit => ['true']}).naughty_bit.should be_true
|
81
|
-
end
|
82
|
-
|
83
|
-
it "should return notified_by" do
|
84
|
-
Service.new({}).notified_by.should be_nil
|
85
|
-
Service.new({:berkeleyEduPersonServiceNotifyBy => ['foo']}).notified_by.should == 'foo'
|
86
|
-
end
|
87
|
-
|
88
|
-
it "should return notify_date" do
|
89
|
-
Service.new({}).notify_date.should be_nil
|
90
|
-
s = Service.new({:berkeleyEduPersonServiceNotifyDate => [@dt_str]})
|
91
|
-
s.notify_date.class.should == DateTime
|
92
|
-
s.notify_date.to_s.should == @dt_exp
|
93
|
-
end
|
94
|
-
|
95
|
-
it "should return stopped_by" do
|
96
|
-
Service.new({}).stopped_by.should be_nil
|
97
|
-
Service.new({:berkeleyEduPersonServiceStopBy => ['foo']}).stopped_by.should == 'foo'
|
98
|
-
end
|
99
|
-
|
100
|
-
it "should return stop_date" do
|
101
|
-
Service.new({}).stop_date.should be_nil
|
102
|
-
s = Service.new({:berkeleyEduPersonServiceStopDate => [@dt_str]})
|
103
|
-
s.stop_date.class.should == DateTime
|
104
|
-
s.stop_date.to_s.should == @dt_exp
|
105
|
-
end
|
106
|
-
|
107
|
-
it "should return value" do
|
108
|
-
Service.new({}).value.should be_nil
|
109
|
-
Service.new({:berkeleyEduPersonServiceValue => ['foo']}).value.should == 'foo'
|
110
|
-
end
|
111
|
-
|
112
|
-
it "should return service" do
|
113
|
-
Service.new({}).service.should be_nil
|
114
|
-
Service.new({:berkeleyEduService => ['foo']}).service.should == 'foo'
|
115
|
-
end
|
116
|
-
|
117
|
-
it "should return common_name" do
|
118
|
-
Service.new({}).common_name.should == []
|
119
|
-
Service.new({:cn => ['foo']}).common_name.should == ['foo']
|
120
|
-
end
|
121
|
-
|
122
|
-
it "should return description" do
|
123
|
-
Service.new({}).description.should be_nil
|
124
|
-
Service.new({:description => ['foo']}).description.should == 'foo'
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
@@ -1,121 +0,0 @@
|
|
1
|
-
require_relative "../spec_helper"
|
2
|
-
|
3
|
-
describe "UCB::LDAP::StudentTerm" do
|
4
|
-
before(:all) do
|
5
|
-
job_appointment_bind
|
6
|
-
@student_uid = "191501"
|
7
|
-
@student = Person.find_by_uid(@student_uid)
|
8
|
-
@datetime_string = '20010203040506Z'
|
9
|
-
@date_expected = '2001-02-03'
|
10
|
-
@datetime_expected = '2001-02-02T20:05:06-08:00'
|
11
|
-
end
|
12
|
-
|
13
|
-
before(:each) do
|
14
|
-
end
|
15
|
-
|
16
|
-
after(:all) do
|
17
|
-
UCB::LDAP.clear_authentication
|
18
|
-
end
|
19
|
-
|
20
|
-
it "find_by_uid(uid) should return terms" do
|
21
|
-
StudentTerm.find_by_uid(@student_uid).class.should == Array
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should be able to get terms from UCB::LDAP::Person instance" do
|
25
|
-
@student.student_terms.class.should == Array
|
26
|
-
end
|
27
|
-
|
28
|
-
it "returns change_datetime" do
|
29
|
-
StudentTerm.new({}).change_datetime.should be_nil
|
30
|
-
StudentTerm.new({:berkeleyEduStuChangeDate => [@datetime_string]}).change_datetime.to_s.should == @datetime_expected
|
31
|
-
end
|
32
|
-
|
33
|
-
it "returns college_code" do
|
34
|
-
StudentTerm.new({}).college_code.should be_nil
|
35
|
-
StudentTerm.new({:berkeleyEduStuCollegeCode => ['foo']}).college_code.should == 'foo'
|
36
|
-
end
|
37
|
-
|
38
|
-
it "returns college_name" do
|
39
|
-
StudentTerm.new({}).college_name.should be_nil
|
40
|
-
StudentTerm.new({:berkeleyEduStuCollegeName => ['foo']}).college_name.should == 'foo'
|
41
|
-
end
|
42
|
-
|
43
|
-
it "returns level_code" do
|
44
|
-
StudentTerm.new({}).level_code.should be_nil
|
45
|
-
StudentTerm.new({:berkeleyEduStuEduLevelCode => ['foo']}).level_code.should == 'foo'
|
46
|
-
end
|
47
|
-
|
48
|
-
|
49
|
-
it "returns level_name" do
|
50
|
-
StudentTerm.new({}).level_name.should be_nil
|
51
|
-
StudentTerm.new({:berkeleyEduStuEduLevelName => ['foo']}).level_name.should == 'foo'
|
52
|
-
end
|
53
|
-
|
54
|
-
|
55
|
-
it "returns role_code" do
|
56
|
-
StudentTerm.new({}).role_code.should be_nil
|
57
|
-
StudentTerm.new({:berkeleyEduStuEduRoleCode => ['foo']}).role_code.should == 'foo'
|
58
|
-
end
|
59
|
-
|
60
|
-
|
61
|
-
it "returns role_name" do
|
62
|
-
StudentTerm.new({}).role_name.should be_nil
|
63
|
-
StudentTerm.new({:berkeleyEduStuEduRoleName => ['foo']}).role_name.should == 'foo'
|
64
|
-
end
|
65
|
-
|
66
|
-
|
67
|
-
it "returns major_code" do
|
68
|
-
StudentTerm.new({}).major_code.should be_nil
|
69
|
-
StudentTerm.new({:berkeleyEduStuMajorCode => ['foo']}).major_code.should == 'foo'
|
70
|
-
end
|
71
|
-
|
72
|
-
|
73
|
-
it "returns major_name" do
|
74
|
-
StudentTerm.new({}).major_name.should be_nil
|
75
|
-
StudentTerm.new({:berkeleyEduStuMajorName => ['foo']}).major_name.should == 'foo'
|
76
|
-
end
|
77
|
-
|
78
|
-
|
79
|
-
it "returns registration_status_code" do
|
80
|
-
StudentTerm.new({}).registration_status_code.should be_nil
|
81
|
-
StudentTerm.new({:berkeleyEduStuRegStatCode => ['foo']}).registration_status_code.should == 'foo'
|
82
|
-
end
|
83
|
-
|
84
|
-
|
85
|
-
it "returns registration_status_name" do
|
86
|
-
StudentTerm.new({}).registration_status_name.should be_nil
|
87
|
-
StudentTerm.new({:berkeleyEduStuRegStatName => ['foo']}).registration_status_name.should == 'foo'
|
88
|
-
end
|
89
|
-
|
90
|
-
|
91
|
-
it "returns term_code" do
|
92
|
-
StudentTerm.new({}).term_code.should be_nil
|
93
|
-
StudentTerm.new({:berkeleyEduStuTermCode => ['foo']}).term_code.should == 'foo'
|
94
|
-
end
|
95
|
-
|
96
|
-
|
97
|
-
it "returns term_name" do
|
98
|
-
StudentTerm.new({}).term_name.should be_nil
|
99
|
-
StudentTerm.new({:berkeleyEduStuTermName => ['foo']}).term_name.should == 'foo'
|
100
|
-
end
|
101
|
-
|
102
|
-
|
103
|
-
it "returns term_status" do
|
104
|
-
StudentTerm.new({}).term_status.should be_nil
|
105
|
-
StudentTerm.new({:berkeleyEduStuTermStatus => ['foo']}).term_status.should == 'foo'
|
106
|
-
end
|
107
|
-
|
108
|
-
|
109
|
-
it "returns term_year" do
|
110
|
-
StudentTerm.new({}).term_year.should be_nil
|
111
|
-
StudentTerm.new({:berkeleyEduStuTermYear => ['2000']}).term_year.should == 2000
|
112
|
-
end
|
113
|
-
|
114
|
-
|
115
|
-
it "returns under_graduate_code" do
|
116
|
-
StudentTerm.new({}).under_graduate_code.should be_nil
|
117
|
-
StudentTerm.new({:berkeleyEduStuUGCode => ['foo']}).under_graduate_code.should == 'foo'
|
118
|
-
end
|
119
|
-
|
120
|
-
end
|
121
|
-
|