crud-service 0.0.5 → 0.0.6

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.
@@ -0,0 +1,104 @@
1
+ require "helper"
2
+
3
+ describe CrudService::Service do
4
+ before(:each) do
5
+ @mock_dal = double('CrudService::Dal')
6
+ @mock_log = double('Log')
7
+
8
+ @generic_service = CrudService::Service.new(@mock_dal, @mock_log)
9
+ end
10
+
11
+ describe '#initialize' do
12
+ it 'should inject dependencies correctly' do
13
+ @generic_service.dal.should eq @mock_dal
14
+ @generic_service.log.should eq @mock_log
15
+ end
16
+ end
17
+
18
+ describe '#insert' do
19
+ it 'should call DAL insert' do
20
+ query = { "one" => "two" }
21
+ @mock_dal.should_receive(:insert).with(query).and_return(true)
22
+ @generic_service.insert(query).should eq true
23
+ end
24
+ end
25
+
26
+ describe "#get_all_by_query" do
27
+ it "should return all records from DAL with no relations" do
28
+
29
+ data = {:code_numeric=>123, :name => "Great Britain"}
30
+
31
+ query = { 'code_alpha_3' => 'GBR' }
32
+
33
+ @mock_dal.should_receive(:get_all_by_query)
34
+ .with(query)
35
+ .and_return(data)
36
+
37
+ @mock_dal.should_receive(:map_in_included_relations!)
38
+ .with(data,query)
39
+ .and_return(data)
40
+
41
+ @generic_service.get_all_by_query(query).should eq(data)
42
+ end
43
+ end
44
+
45
+ describe '#get_one_by_query' do
46
+ it 'should call DAL get_one_by_query' do
47
+ query = { "one" => "two" }
48
+ @mock_dal.should_receive(:get_all_by_query).with(query).and_return([query])
49
+ @mock_dal.should_receive(:map_in_included_relations!).and_return(true)
50
+ @generic_service.get_one_by_query(query).should eq query
51
+ end
52
+ end
53
+
54
+ describe '#update_by_primary_key' do
55
+ it 'should call DAL update_by_primary_key' do
56
+ query = { "one" => "two" }
57
+ @mock_dal.should_receive(:update_by_primary_key).with(2,query).and_return(true)
58
+ @generic_service.update_by_primary_key(2,query).should eq true
59
+ end
60
+ end
61
+
62
+ describe '#delete_by_primary_key' do
63
+ it 'should call DAL delete_by_primary_key' do
64
+ query = { "one" => "two" }
65
+ @mock_dal.should_receive(:delete_by_primary_key).with(query).and_return(true)
66
+ @generic_service.delete_by_primary_key(query).should eq true
67
+ end
68
+ end
69
+
70
+ describe '#exists_by_primary_key?' do
71
+ it 'should call DAL exists_by_primary_key?' do
72
+ query = { "one" => "two" }
73
+ @mock_dal.should_receive(:exists_by_primary_key?).with(query).and_return(true)
74
+ @generic_service.exists_by_primary_key?(query).should eq true
75
+ end
76
+ end
77
+
78
+ describe '#valid_insert?' do
79
+ it 'should call DAL valid_insert?' do
80
+ query = { "one" => "two" }
81
+ @mock_dal.should_receive(:valid_insert?).with(query).and_return(true)
82
+
83
+ @generic_service.valid_insert?(query).should eq true
84
+ end
85
+ end
86
+
87
+ describe '#valid_query?' do
88
+ it 'should call DAL valid_query?' do
89
+ query = { "one" => "two" }
90
+ @mock_dal.should_receive(:valid_query?).with(query).and_return(true)
91
+
92
+ @generic_service.valid_query?(query).should eq true
93
+ end
94
+ end
95
+
96
+ describe '#valid_update?' do
97
+ it 'should call DAL valid_update?' do
98
+ query = { "one" => "two" }
99
+ @mock_dal.should_receive(:valid_update?).with(query).and_return(true)
100
+
101
+ @generic_service.valid_update?(query).should eq true
102
+ end
103
+ end
104
+ end
metadata CHANGED
@@ -1,55 +1,100 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crud-service
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Cully
8
+ - Sasha Gerrand
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
12
  date: 2013-08-26 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: json
15
+ name: coveralls
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - ~>
18
+ - - ! '>='
18
19
  - !ruby/object:Gem::Version
19
- version: 1.8.0
20
+ version: '0'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
20
25
  - - ! '>='
21
26
  - !ruby/object:Gem::Version
22
- version: 1.8.0
23
- type: :runtime
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: dotenv
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
24
36
  prerelease: false
25
37
  version_requirements: !ruby/object:Gem::Requirement
26
38
  requirements:
27
- - - ~>
39
+ - - ! '>='
28
40
  - !ruby/object:Gem::Version
29
- version: 1.8.0
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rake
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
30
46
  - - ! '>='
31
47
  - !ruby/object:Gem::Version
32
- version: 1.8.0
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
33
56
  - !ruby/object:Gem::Dependency
34
- name: sinatra
57
+ name: rspec
35
58
  requirement: !ruby/object:Gem::Requirement
36
59
  requirements:
37
- - - ~>
60
+ - - ! '>='
38
61
  - !ruby/object:Gem::Version
39
- version: 1.4.3
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
40
67
  - - ! '>='
41
68
  - !ruby/object:Gem::Version
42
- version: 1.4.3
43
- type: :runtime
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec-mocks
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
44
78
  prerelease: false
45
79
  version_requirements: !ruby/object:Gem::Requirement
46
80
  requirements:
47
- - - ~>
81
+ - - ! '>='
48
82
  - !ruby/object:Gem::Version
49
- version: 1.4.3
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rack-test
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
50
88
  - - ! '>='
51
89
  - !ruby/object:Gem::Version
52
- version: 1.4.3
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ! '>='
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
53
98
  - !ruby/object:Gem::Dependency
54
99
  name: dalli
55
100
  requirement: !ruby/object:Gem::Requirement
@@ -70,6 +115,26 @@ dependencies:
70
115
  - - ! '>='
71
116
  - !ruby/object:Gem::Version
72
117
  version: 2.6.4
118
+ - !ruby/object:Gem::Dependency
119
+ name: json
120
+ requirement: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: 1.8.0
125
+ - - ! '>='
126
+ - !ruby/object:Gem::Version
127
+ version: 1.8.0
128
+ type: :runtime
129
+ prerelease: false
130
+ version_requirements: !ruby/object:Gem::Requirement
131
+ requirements:
132
+ - - ~>
133
+ - !ruby/object:Gem::Version
134
+ version: 1.8.0
135
+ - - ! '>='
136
+ - !ruby/object:Gem::Version
137
+ version: 1.8.0
73
138
  - !ruby/object:Gem::Dependency
74
139
  name: mysql2
75
140
  requirement: !ruby/object:Gem::Requirement
@@ -90,18 +155,44 @@ dependencies:
90
155
  - - ! '>='
91
156
  - !ruby/object:Gem::Version
92
157
  version: 0.3.13
93
- description: A basic gem for automatic CRUD services using only Sinatra, MySQL and
94
- Memcache
95
- email: tomhughcully@gmail.com
158
+ - !ruby/object:Gem::Dependency
159
+ name: sinatra
160
+ requirement: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ~>
163
+ - !ruby/object:Gem::Version
164
+ version: 1.4.3
165
+ - - ! '>='
166
+ - !ruby/object:Gem::Version
167
+ version: 1.4.3
168
+ type: :runtime
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ~>
173
+ - !ruby/object:Gem::Version
174
+ version: 1.4.3
175
+ - - ! '>='
176
+ - !ruby/object:Gem::Version
177
+ version: 1.4.3
178
+ description: A basic library for automatic CRUD services using only Sinatra, MySQL
179
+ and Memcache
180
+ email:
181
+ - tomhughcully@gmail.com
182
+ - rubygems-crud-service@sgerrand.com
96
183
  executables: []
97
184
  extensions: []
98
185
  extra_rdoc_files: []
99
186
  files:
187
+ - lib/api.rb
100
188
  - lib/crud-service.rb
101
- - lib/generic_api.rb
102
- - lib/generic_dal.rb
103
- - lib/generic_log.rb
104
- - lib/generic_service.rb
189
+ - lib/dal.rb
190
+ - lib/logger.rb
191
+ - lib/service.rb
192
+ - spec/helper.rb
193
+ - spec/helpers_spec.rb
194
+ - spec/unit/dal_spec.rb
195
+ - spec/unit/service_spec.rb
105
196
  homepage: http://github.com/tomcully/crud-service
106
197
  licenses:
107
198
  - Apache2
@@ -114,7 +205,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
205
  requirements:
115
206
  - - ! '>='
116
207
  - !ruby/object:Gem::Version
117
- version: 1.9.3
208
+ version: 1.9.2
118
209
  required_rubygems_version: !ruby/object:Gem::Requirement
119
210
  requirements:
120
211
  - - ! '>='
@@ -126,4 +217,8 @@ rubygems_version: 2.0.7
126
217
  signing_key:
127
218
  specification_version: 4
128
219
  summary: A Sinatra/MySQL/Memcache CRUD Service Library
129
- test_files: []
220
+ test_files:
221
+ - spec/helper.rb
222
+ - spec/helpers_spec.rb
223
+ - spec/unit/dal_spec.rb
224
+ - spec/unit/service_spec.rb