ardm 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/Gemfile +1 -2
- data/LICENSE +2 -2
- data/README.md +72 -16
- data/ardm.gemspec +1 -0
- data/lib/ardm.rb +2 -1
- data/lib/ardm/active_record.rb +8 -1
- data/lib/ardm/active_record/associations.rb +33 -4
- data/lib/ardm/active_record/base.rb +2 -0
- data/lib/ardm/active_record/collection.rb +5 -0
- data/lib/ardm/active_record/data_mapper_constant.rb +1 -0
- data/lib/ardm/active_record/data_mapper_constant_proxy.rb +24 -0
- data/lib/ardm/active_record/finalize.rb +18 -0
- data/lib/ardm/active_record/predicate_builder/array_handler.rb +10 -16
- data/lib/ardm/active_record/predicate_builder/rails3.rb +42 -15
- data/lib/ardm/active_record/predicate_builder/rails4.rb +39 -13
- data/lib/ardm/active_record/property.rb +24 -12
- data/lib/ardm/active_record/query.rb +9 -18
- data/lib/ardm/active_record/record.rb +54 -11
- data/lib/ardm/active_record/relation.rb +36 -6
- data/lib/ardm/active_record/repository.rb +6 -2
- data/lib/ardm/data_mapper.rb +2 -0
- data/lib/ardm/data_mapper/record.rb +3 -9
- data/lib/ardm/version.rb +1 -1
- data/spec/ardm/datamapper_constants_spec.rb +31 -0
- data/spec/fixtures/article.rb +2 -0
- data/spec/integration/api_key_spec.rb +3 -3
- data/spec/integration/bcrypt_hash_spec.rb +7 -7
- data/spec/integration/comma_separated_list_spec.rb +11 -11
- data/spec/integration/dirty_minder_spec.rb +23 -39
- data/spec/integration/enum_spec.rb +11 -11
- data/spec/integration/epoch_time_spec.rb +6 -6
- data/spec/integration/file_path_spec.rb +23 -23
- data/spec/integration/flag_spec.rb +11 -13
- data/spec/integration/ip_address_spec.rb +15 -15
- data/spec/integration/json_spec.rb +7 -7
- data/spec/integration/slug_spec.rb +6 -6
- data/spec/integration/uri_spec.rb +11 -11
- data/spec/integration/uuid_spec.rb +16 -16
- data/spec/integration/yaml_spec.rb +8 -8
- data/spec/public/model_spec.rb +193 -0
- data/spec/public/property/binary_spec.rb +4 -4
- data/spec/public/property/boolean_spec.rb +3 -3
- data/spec/public/property/class_spec.rb +2 -2
- data/spec/public/property/date_spec.rb +2 -2
- data/spec/public/property/date_time_spec.rb +2 -2
- data/spec/public/property/decimal_spec.rb +2 -2
- data/spec/public/property/discriminator_spec.rb +21 -20
- data/spec/public/property/float_spec.rb +2 -2
- data/spec/public/property/integer_spec.rb +2 -2
- data/spec/public/property/object_spec.rb +14 -13
- data/spec/public/property/serial_spec.rb +2 -2
- data/spec/public/property/string_spec.rb +2 -2
- data/spec/public/property/text_spec.rb +2 -2
- data/spec/public/property/time_spec.rb +2 -2
- data/spec/public/property_spec.rb +44 -48
- data/spec/public/resource_spec.rb +278 -0
- data/spec/schema.rb +33 -4
- data/spec/semipublic/property/boolean_spec.rb +5 -5
- data/spec/semipublic/property/class_spec.rb +3 -3
- data/spec/semipublic/property/date_spec.rb +8 -8
- data/spec/semipublic/property/date_time_spec.rb +9 -9
- data/spec/semipublic/property/decimal_spec.rb +16 -16
- data/spec/semipublic/property/float_spec.rb +16 -16
- data/spec/semipublic/property/integer_spec.rb +16 -16
- data/spec/semipublic/property/lookup_spec.rb +4 -4
- data/spec/semipublic/property/text_spec.rb +2 -2
- data/spec/semipublic/property/time_spec.rb +10 -10
- data/spec/semipublic/property_spec.rb +4 -4
- data/spec/shared/finder_shared_spec.rb +1151 -0
- data/spec/shared/flags_shared_spec.rb +6 -6
- data/spec/shared/identity_function_group.rb +1 -1
- data/spec/shared/public_property_spec.rb +26 -25
- data/spec/shared/resource_spec.rb +1218 -0
- data/spec/shared/semipublic_property_spec.rb +23 -22
- data/spec/spec_helper.rb +17 -0
- data/spec/unit/bcrypt_hash_spec.rb +15 -15
- data/spec/unit/csv_spec.rb +11 -11
- data/spec/unit/dirty_minder_spec.rb +3 -5
- data/spec/unit/enum_spec.rb +17 -17
- data/spec/unit/epoch_time_spec.rb +8 -8
- data/spec/unit/file_path_spec.rb +9 -9
- data/spec/unit/flag_spec.rb +9 -9
- data/spec/unit/ip_address_spec.rb +9 -9
- data/spec/unit/json_spec.rb +11 -11
- data/spec/unit/paranoid_boolean_spec.rb +19 -17
- data/spec/unit/paranoid_datetime_spec.rb +21 -19
- data/spec/unit/regexp_spec.rb +4 -4
- data/spec/unit/uri_spec.rb +8 -8
- data/spec/unit/yaml_spec.rb +9 -9
- metadata +35 -27
- data/lib/ardm/active_record/not_found.rb +0 -7
- data/lib/ardm/data_mapper/not_found.rb +0 -5
@@ -15,10 +15,8 @@ try_spec do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
describe 'with the default value' do
|
18
|
-
it 'returns it as an array' do
|
19
|
-
|
20
|
-
@resource.size.should eq([Ardm::Fixtures::TShirt.properties[:size].default])
|
21
|
-
end
|
18
|
+
it 'returns it as an array', skip: true do
|
19
|
+
expect(@resource.size).to eq([Ardm::Fixtures::TShirt.properties[:size].default])
|
22
20
|
end
|
23
21
|
end
|
24
22
|
|
@@ -26,12 +24,12 @@ try_spec do
|
|
26
24
|
describe 'dumped and loaded' do
|
27
25
|
before do
|
28
26
|
@resource.size = [ :xs, :medium ]
|
29
|
-
@resource.save.
|
27
|
+
expect(@resource.save).to be true
|
30
28
|
@resource.reload
|
31
29
|
end
|
32
30
|
|
33
|
-
it 'returns size as array' do
|
34
|
-
@resource.size.
|
31
|
+
it 'returns size as array', pending: true do
|
32
|
+
expect(@resource.size).to eq([ :xs, :medium ])
|
35
33
|
end
|
36
34
|
end
|
37
35
|
end
|
@@ -43,12 +41,12 @@ try_spec do
|
|
43
41
|
|
44
42
|
describe 'dumped and loaded' do
|
45
43
|
before do
|
46
|
-
@resource.save.
|
44
|
+
expect(@resource.save).to be true
|
47
45
|
@resource.reload
|
48
46
|
end
|
49
47
|
|
50
|
-
it 'returns size as array with a single value' do
|
51
|
-
@resource.size.
|
48
|
+
it 'returns size as array with a single value', pending: true do
|
49
|
+
expect(@resource.size).to eq([:large])
|
52
50
|
end
|
53
51
|
end
|
54
52
|
end
|
@@ -56,16 +54,16 @@ try_spec do
|
|
56
54
|
# Flag does not add any auto validations
|
57
55
|
describe 'without size' do
|
58
56
|
before do
|
59
|
-
@resource.
|
57
|
+
expect(@resource).to be_valid
|
60
58
|
@resource.size = nil
|
61
59
|
end
|
62
60
|
|
63
61
|
it 'is valid' do
|
64
|
-
@resource.
|
62
|
+
expect(@resource).to be_valid
|
65
63
|
end
|
66
64
|
|
67
65
|
it 'has no errors' do
|
68
|
-
@resource.errors.
|
66
|
+
expect(@resource.errors).to be_empty
|
69
67
|
end
|
70
68
|
end
|
71
69
|
end
|
@@ -28,12 +28,12 @@ try_spec do
|
|
28
28
|
|
29
29
|
describe 'when dumped and loaded' do
|
30
30
|
before do
|
31
|
-
@resource.save.
|
31
|
+
expect(@resource.save).to be(true)
|
32
32
|
@resource.reload
|
33
33
|
end
|
34
34
|
|
35
35
|
it 'is an IPv6 node' do
|
36
|
-
@resource.
|
36
|
+
expect(@resource).to run_ipv6
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
@@ -45,12 +45,12 @@ try_spec do
|
|
45
45
|
|
46
46
|
describe 'when dumped and loaded' do
|
47
47
|
before do
|
48
|
-
@resource.save.
|
48
|
+
expect(@resource.save).to be(true)
|
49
49
|
@resource.reload
|
50
50
|
end
|
51
51
|
|
52
52
|
it 'is an IPv4 node' do
|
53
|
-
@resource.
|
53
|
+
expect(@resource).to run_ipv4
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
@@ -62,12 +62,12 @@ try_spec do
|
|
62
62
|
|
63
63
|
describe 'when dumped and loaded' do
|
64
64
|
before do
|
65
|
-
@resource.save.
|
65
|
+
expect(@resource.save).to be(true)
|
66
66
|
@resource.reload
|
67
67
|
end
|
68
68
|
|
69
69
|
it 'is an IPv4 node' do
|
70
|
-
@resource.
|
70
|
+
expect(@resource).to run_ipv4
|
71
71
|
end
|
72
72
|
end
|
73
73
|
end
|
@@ -79,12 +79,12 @@ try_spec do
|
|
79
79
|
|
80
80
|
describe 'when dumped and loaded' do
|
81
81
|
before do
|
82
|
-
@resource.save.
|
82
|
+
expect(@resource.save).to be(true)
|
83
83
|
@resource.reload
|
84
84
|
end
|
85
85
|
|
86
86
|
it 'is an IPv4 node' do
|
87
|
-
@resource.
|
87
|
+
expect(@resource).to run_ipv4
|
88
88
|
end
|
89
89
|
end
|
90
90
|
end
|
@@ -96,12 +96,12 @@ try_spec do
|
|
96
96
|
|
97
97
|
describe 'when dumped and loaded' do
|
98
98
|
before do
|
99
|
-
@resource.save.
|
99
|
+
expect(@resource.save).to be(true)
|
100
100
|
@resource.reload
|
101
101
|
end
|
102
102
|
|
103
103
|
it 'is an IPv4 node' do
|
104
|
-
@resource.
|
104
|
+
expect(@resource).to run_ipv4
|
105
105
|
end
|
106
106
|
|
107
107
|
it 'includes IP address 218.43.243.2 in subnet hosts' do
|
@@ -117,16 +117,16 @@ try_spec do
|
|
117
117
|
|
118
118
|
describe 'when dumped and loaded' do
|
119
119
|
before do
|
120
|
-
@resource.save.
|
120
|
+
expect(@resource.save).to be(true)
|
121
121
|
@resource.reload
|
122
122
|
end
|
123
123
|
|
124
124
|
it 'is an IPv4 node' do
|
125
|
-
@resource.
|
125
|
+
expect(@resource).to run_ipv4
|
126
126
|
end
|
127
127
|
|
128
128
|
it 'should be the expected value' do
|
129
|
-
@resource.ip_address.
|
129
|
+
expect(@resource.ip_address).to eq(IPAddr.new('0.0.0.0'))
|
130
130
|
end
|
131
131
|
end
|
132
132
|
end
|
@@ -138,12 +138,12 @@ try_spec do
|
|
138
138
|
|
139
139
|
describe 'when dumped and loaded' do
|
140
140
|
before do
|
141
|
-
@resource.save.
|
141
|
+
expect(@resource.save).to be(true)
|
142
142
|
@resource.reload
|
143
143
|
end
|
144
144
|
|
145
145
|
it 'has no IP address assigned' do
|
146
|
-
@resource.ip_address.
|
146
|
+
expect(@resource.ip_address).to be_nil
|
147
147
|
end
|
148
148
|
end
|
149
149
|
end
|
@@ -16,12 +16,12 @@ try_spec do
|
|
16
16
|
|
17
17
|
describe 'when dumped and loaded again' do
|
18
18
|
before do
|
19
|
-
@resource.save.
|
19
|
+
expect(@resource.save).to be true
|
20
20
|
@resource.reload
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'has nil positions list' do
|
24
|
-
@resource.positions.
|
24
|
+
expect(@resource.positions).to be_nil
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -36,15 +36,15 @@ try_spec do
|
|
36
36
|
|
37
37
|
describe 'when dumped and loaded again' do
|
38
38
|
before do
|
39
|
-
@resource.save.
|
39
|
+
expect(@resource.save).to be true
|
40
40
|
@resource.reload
|
41
41
|
end
|
42
42
|
|
43
43
|
it 'loads positions list to the state when it was dumped/persisted with keys being strings' do
|
44
|
-
@resource.positions.
|
44
|
+
expect(@resource.positions).to eq([
|
45
45
|
{ 'company' => 'The Death Star, Inc', 'title' => 'Light sabre engineer' },
|
46
46
|
{ 'company' => 'Sane Little Company', 'title' => 'Chief Curiosity Officer' },
|
47
|
-
]
|
47
|
+
])
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
@@ -56,12 +56,12 @@ try_spec do
|
|
56
56
|
|
57
57
|
describe 'when dumped and loaded again' do
|
58
58
|
before do
|
59
|
-
@resource.save.
|
59
|
+
expect(@resource.save).to be true
|
60
60
|
@resource.reload
|
61
61
|
end
|
62
62
|
|
63
63
|
it 'has empty positions list' do
|
64
|
-
@resource.positions.
|
64
|
+
expect(@resource.positions).to eq([])
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
@@ -16,11 +16,11 @@ try_spec do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'has slug equal to "new-datamapper-type"' do
|
19
|
-
@resource.slug.
|
19
|
+
expect(@resource.slug).to eq('new-ardm-type')
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'can be found by slug' do
|
23
|
-
Ardm::Fixtures::Article.where(:slug => 'new-ardm-type').first.
|
23
|
+
expect(Ardm::Fixtures::Article.where(:slug => 'new-ardm-type').first).to eq(@resource)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
@@ -41,21 +41,21 @@ try_spec do
|
|
41
41
|
describe "set with title '#{title}'" do
|
42
42
|
before do
|
43
43
|
@resource = Ardm::Fixtures::Article.new(:title => title)
|
44
|
-
@resource.valid
|
44
|
+
expect(@resource.valid?).to be(true)
|
45
45
|
end
|
46
46
|
|
47
47
|
it "has slug equal to '#{slug}'" do
|
48
|
-
@resource.slug.
|
48
|
+
expect(@resource.slug).to eq(slug)
|
49
49
|
end
|
50
50
|
|
51
51
|
describe "and persisted" do
|
52
52
|
before do
|
53
|
-
@resource.save.
|
53
|
+
expect(@resource.save).to be(true)
|
54
54
|
@resource.reload
|
55
55
|
end
|
56
56
|
|
57
57
|
it 'can be found by slug' do
|
58
|
-
Ardm::Fixtures::Article.where(:slug => slug).first.
|
58
|
+
expect(Ardm::Fixtures::Article.where(:slug => slug).first).to eq(@resource)
|
59
59
|
end
|
60
60
|
end
|
61
61
|
end
|
@@ -15,11 +15,11 @@ try_spec do
|
|
15
15
|
:tags => %w[ misc ]
|
16
16
|
)
|
17
17
|
|
18
|
-
@resource.save.
|
18
|
+
expect(@resource.save).to be(true)
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'can be found by uri' do
|
22
|
-
Ardm::Fixtures::Bookmark.where(:uri => @uri).first.
|
22
|
+
expect(Ardm::Fixtures::Bookmark.where(:uri => @uri).first).to eq(@resource)
|
23
23
|
end
|
24
24
|
|
25
25
|
describe 'when reloaded' do
|
@@ -28,7 +28,7 @@ try_spec do
|
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'has no uri' do
|
31
|
-
@resource.uri.
|
31
|
+
expect(@resource.uri).to be_nil
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -43,11 +43,11 @@ try_spec do
|
|
43
43
|
:tags => %w[ misc ]
|
44
44
|
)
|
45
45
|
|
46
|
-
@resource.save.
|
46
|
+
expect(@resource.save).to be(true)
|
47
47
|
end
|
48
48
|
|
49
49
|
it 'can be found by uri' do
|
50
|
-
Ardm::Fixtures::Bookmark.where(:uri => @uri).first.
|
50
|
+
expect(Ardm::Fixtures::Bookmark.where(:uri => @uri).first).to eq(@resource)
|
51
51
|
end
|
52
52
|
|
53
53
|
describe 'when reloaded' do
|
@@ -56,11 +56,11 @@ try_spec do
|
|
56
56
|
end
|
57
57
|
|
58
58
|
it 'is loaded as URI object' do
|
59
|
-
@resource.uri.
|
59
|
+
expect(@resource.uri).to be_an_instance_of(Addressable::URI)
|
60
60
|
end
|
61
61
|
|
62
62
|
it 'has the same original URI' do
|
63
|
-
@resource.uri.to_s.
|
63
|
+
expect(@resource.uri.to_s).to eq(@uri)
|
64
64
|
end
|
65
65
|
end
|
66
66
|
end
|
@@ -77,7 +77,7 @@ try_spec do
|
|
77
77
|
end
|
78
78
|
|
79
79
|
it 'is perfectly valid (URI type does not provide auto validations)' do
|
80
|
-
@resource.save.
|
80
|
+
expect(@resource.save).to be(true)
|
81
81
|
end
|
82
82
|
end
|
83
83
|
|
@@ -114,11 +114,11 @@ try_spec do
|
|
114
114
|
:tags => %w[ misc ]
|
115
115
|
)
|
116
116
|
|
117
|
-
@resource.save.
|
117
|
+
expect(@resource.save).to be(true)
|
118
118
|
end
|
119
119
|
|
120
120
|
it 'can be found by uri' do
|
121
|
-
Ardm::Fixtures::Bookmark.where(:uri => uri).first.
|
121
|
+
expect(Ardm::Fixtures::Bookmark.where(:uri => uri).first).not_to be_nil
|
122
122
|
end
|
123
123
|
|
124
124
|
describe 'when reloaded' do
|
@@ -127,7 +127,7 @@ try_spec do
|
|
127
127
|
end
|
128
128
|
|
129
129
|
it 'has the same original URI' do
|
130
|
-
@resource.uri.to_s.
|
130
|
+
expect(@resource.uri.to_s).to eql(uri)
|
131
131
|
end
|
132
132
|
end
|
133
133
|
end
|
@@ -11,7 +11,7 @@ try_spec do
|
|
11
11
|
@uuid = UUIDTools::UUID.parse(@uuid_string)
|
12
12
|
@resource = Ardm::Fixtures::NetworkNode.new(:uuid => @uuid)
|
13
13
|
|
14
|
-
@resource.save.
|
14
|
+
expect(@resource.save).to be(true)
|
15
15
|
end
|
16
16
|
|
17
17
|
describe 'when reloaded' do
|
@@ -19,12 +19,12 @@ try_spec do
|
|
19
19
|
@resource.reload
|
20
20
|
end
|
21
21
|
|
22
|
-
it 'has the same UUID string' do
|
23
|
-
@resource.uuid.to_s.
|
22
|
+
it 'has the same UUID string', pending: true do
|
23
|
+
expect(@resource.uuid.to_s).to eq(@uuid_string)
|
24
24
|
end
|
25
25
|
|
26
|
-
it 'returns UUID as an object' do
|
27
|
-
@resource.uuid.
|
26
|
+
it 'returns UUID as an object', pending: true do
|
27
|
+
expect(@resource.uuid).to be_an_instance_of(UUIDTools::UUID)
|
28
28
|
end
|
29
29
|
end
|
30
30
|
end
|
@@ -33,7 +33,7 @@ try_spec do
|
|
33
33
|
before :each do
|
34
34
|
@uuid = 'b0fc632e-d744-4821-afe3-4ea0701859ee'
|
35
35
|
@resource = Ardm::Fixtures::NetworkNode.new(:uuid => @uuid)
|
36
|
-
@resource.save.
|
36
|
+
expect(@resource.save).to be(true)
|
37
37
|
end
|
38
38
|
|
39
39
|
describe 'when reloaded' do
|
@@ -41,12 +41,12 @@ try_spec do
|
|
41
41
|
@resource.reload
|
42
42
|
end
|
43
43
|
|
44
|
-
it 'has the same UUID string' do
|
45
|
-
@resource.uuid.to_s.
|
44
|
+
it 'has the same UUID string', pending: true do
|
45
|
+
expect(@resource.uuid.to_s).to eq(@uuid)
|
46
46
|
end
|
47
47
|
|
48
|
-
it 'returns UUID as an object' do
|
49
|
-
@resource.uuid.
|
48
|
+
it 'returns UUID as an object', pending: true do
|
49
|
+
expect(@resource.uuid).to be_an_instance_of(UUIDTools::UUID)
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -60,8 +60,8 @@ try_spec do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
describe 'when assigned UUID' do
|
63
|
-
it 'raises ArgumentError' do
|
64
|
-
@operation.
|
63
|
+
it 'raises ArgumentError', pending: true do
|
64
|
+
expect(@operation).to raise_error(ArgumentError, /Invalid UUID format/)
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
@@ -75,8 +75,8 @@ try_spec do
|
|
75
75
|
end
|
76
76
|
|
77
77
|
describe 'when assigned UUID' do
|
78
|
-
it 'raises ArgumentError' do
|
79
|
-
@operation.
|
78
|
+
it 'raises ArgumentError', pending: true do
|
79
|
+
expect(@operation).to raise_error(ArgumentError, /Invalid UUID format/)
|
80
80
|
end
|
81
81
|
end
|
82
82
|
end
|
@@ -85,7 +85,7 @@ try_spec do
|
|
85
85
|
before :each do
|
86
86
|
@uuid = nil
|
87
87
|
@resource = Ardm::Fixtures::NetworkNode.new(:uuid => @uuid)
|
88
|
-
@resource.save.
|
88
|
+
expect(@resource.save).to be(true)
|
89
89
|
end
|
90
90
|
|
91
91
|
describe 'when reloaded' do
|
@@ -94,7 +94,7 @@ try_spec do
|
|
94
94
|
end
|
95
95
|
|
96
96
|
it 'has no UUID' do
|
97
|
-
@resource.uuid.
|
97
|
+
expect(@resource.uuid).to be_nil
|
98
98
|
end
|
99
99
|
end
|
100
100
|
end
|
@@ -17,12 +17,12 @@ try_spec do
|
|
17
17
|
|
18
18
|
describe 'when dumped and loaded again' do
|
19
19
|
before do
|
20
|
-
@resource.save.
|
20
|
+
expect(@resource.save).to be(true)
|
21
21
|
@resource.reload
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'has nil inventions list' do
|
25
|
-
@resource.inventions.
|
25
|
+
expect(@resource.inventions).to be_nil
|
26
26
|
end
|
27
27
|
end
|
28
28
|
end
|
@@ -37,12 +37,12 @@ try_spec do
|
|
37
37
|
|
38
38
|
describe 'when dumped and loaded again' do
|
39
39
|
before do
|
40
|
-
@resource.save.
|
40
|
+
expect(@resource.save).to be(true)
|
41
41
|
@resource.reload
|
42
42
|
end
|
43
43
|
|
44
44
|
it 'loads inventions list to the state when it was dumped/persisted with keys being strings' do
|
45
|
-
@resource.inventions.
|
45
|
+
expect(@resource.inventions).to eq(@input)
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
@@ -54,12 +54,12 @@ try_spec do
|
|
54
54
|
|
55
55
|
describe 'when dumped and loaded again' do
|
56
56
|
before do
|
57
|
-
@resource.save.
|
57
|
+
expect(@resource.save).to be(true)
|
58
58
|
@resource.reload
|
59
59
|
end
|
60
60
|
|
61
61
|
it 'has empty inventions list' do
|
62
|
-
@resource.inventions.
|
62
|
+
expect(@resource.inventions).to eq([])
|
63
63
|
end
|
64
64
|
end
|
65
65
|
end
|
@@ -72,12 +72,12 @@ try_spec do
|
|
72
72
|
|
73
73
|
describe 'when dumped and loaded again' do
|
74
74
|
before do
|
75
|
-
@resource.save.
|
75
|
+
expect(@resource.save).to be(true)
|
76
76
|
@resource.reload
|
77
77
|
end
|
78
78
|
|
79
79
|
it 'has correct inventions' do
|
80
|
-
@resource.inventions.
|
80
|
+
expect(@resource.inventions).to eq('Foo and Bar')
|
81
81
|
end
|
82
82
|
end
|
83
83
|
end
|