crud-service 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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