caseblocks_api 0.2.13 → 0.2.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,7 +23,7 @@ Searching with sorting:
23
23
 
24
24
  Searching for a reduced response:
25
25
 
26
- `caseblocks.search('CaseTypeName', {given_name: 'Smith'}, fields: ['id', 'given_name', ''created_at'}])`
26
+ `caseblocks.search('CaseTypeName', {given_name: 'Smith'}, fields: ['id', 'given_name', ''created_at'])`
27
27
 
28
28
  == Contributing to caseblocks_api
29
29
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.13
1
+ 0.2.14
@@ -5,15 +5,15 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "caseblocks_api"
8
- s.version = "0.2.13"
8
+ s.version = "0.2.14"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Mark Provan"]
12
- s.date = "2013-02-19"
12
+ s.date = "2013-03-27"
13
13
  s.email = "development@emergeadapt.com"
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE.txt",
16
- "README.rdoc"
16
+ "README.md"
17
17
  ]
18
18
  s.files = [
19
19
  ".document",
@@ -22,13 +22,14 @@ Gem::Specification.new do |s|
22
22
  "Gemfile.lock",
23
23
  "Guardfile",
24
24
  "LICENSE.txt",
25
- "README.rdoc",
25
+ "README.md",
26
26
  "Rakefile",
27
27
  "VERSION",
28
28
  "caseblocks_api.gemspec",
29
29
  "lib/caseblocks_api.rb",
30
30
  "lib/caseblocks_api/authentication_exception.rb",
31
31
  "lib/caseblocks_api/bucket_results.rb",
32
+ "lib/caseblocks_api/case_creation_error.rb",
32
33
  "lib/caseblocks_api/get_cases.rb",
33
34
  "lib/caseblocks_api/searcher.rb",
34
35
  "lib/caseblocks_api/update_case.rb",
@@ -0,0 +1,4 @@
1
+ module CaseblocksAPI
2
+ class CaseCreationError < StandardError
3
+ end
4
+ end
@@ -2,6 +2,7 @@ require "httparty"
2
2
  require "json"
3
3
  require 'active_support/inflector'
4
4
  require "caseblocks_api/authentication_exception"
5
+ require 'caseblocks_api/case_creation_error'
5
6
 
6
7
  module CaseblocksAPI
7
8
  require 'caseblocks_api/bucket_results'
@@ -30,8 +31,9 @@ module CaseblocksAPI
30
31
 
31
32
  def create_case(params, case_type=nil)
32
33
  params.merge!(:case_type_id => fetch_case_type_id(case_type))
33
- self.class.post("/case_blocks/cases", :body => {:case => params}.to_json)
34
- end
34
+ response = self.class.post("/case_blocks/cases", :body => {:case => params}.to_json)
35
+ raise CaseblocksAPI::CaseCreationError, "Unable to create case - received response code #{response.code}" if response.code != 200
36
+ end
35
37
 
36
38
  private
37
39
 
@@ -23,13 +23,32 @@ describe "CaseblocksAPI" do
23
23
  describe "creating a case" do
24
24
  let(:caseblocks_client) { CaseblocksAPI::Client.new("username", "password", "http://example.com") }
25
25
 
26
- it "should look for the case type id" do
26
+ before do
27
27
  stub_request(:post, "http://example.com/tokens?auth_token=some_token")
28
28
  CaseblocksAPI::Client.stub(:get).and_return({"case_types" => [ {"id" => 1, "name" => 'some_case'} ]})
29
- stub = stub_request(:post, "example.com/case_blocks/cases?auth_token=")
30
- .with({body: { 'case' => {'my' => 'params', 'case_type_id' => 1}}.to_json })
31
- caseblocks_client.create_case({'my' => 'params'}, 'some_case')
32
- stub.should have_been_made.times(1)
29
+ stub_request(:post, "http://example.com/tokens?auth_token=").
30
+ with(:body => "{\"email\":\"username\",\"password\":\"password\"}",
31
+ :headers => {'Accept'=>'application/json', 'Content-Type'=>'application/json'})
32
+ end
33
+
34
+ context "successfully created on CaseBlocks" do
35
+ it "should call post" do
36
+ stub = stub_request(:post, "example.com/case_blocks/cases?auth_token=")
37
+ .with({body: { 'case' => {'my' => 'params', 'case_type_id' => 1}}.to_json })
38
+ .to_return(:status => 200, :body => "", :headers => {})
39
+ caseblocks_client.create_case({'my' => 'params'}, 'some_case')
40
+ stub.should have_been_made.times(1)
41
+ end
42
+ end
43
+
44
+ context "received non-200 response code from CaseBlocks" do
45
+ it "should raise exception" do
46
+ stub = stub_request(:post, "example.com/case_blocks/cases?auth_token=")
47
+ .with({body: { 'case' => {'my' => 'params', 'case_type_id' => 1}}.to_json })
48
+ .to_return(:status => 500, :body => "", :headers => {})
49
+
50
+ expect{caseblocks_client.create_case({'my' => 'params'}, 'some_case')}.to raise_error(CaseblocksAPI::CaseCreationError, 'Unable to create case - received response code 500')
51
+ end
33
52
  end
34
53
  end
35
54
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caseblocks_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.13
4
+ version: 0.2.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-19 00:00:00.000000000 Z
12
+ date: 2013-03-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -177,7 +177,7 @@ executables: []
177
177
  extensions: []
178
178
  extra_rdoc_files:
179
179
  - LICENSE.txt
180
- - README.rdoc
180
+ - README.md
181
181
  files:
182
182
  - .document
183
183
  - .rspec
@@ -185,13 +185,14 @@ files:
185
185
  - Gemfile.lock
186
186
  - Guardfile
187
187
  - LICENSE.txt
188
- - README.rdoc
188
+ - README.md
189
189
  - Rakefile
190
190
  - VERSION
191
191
  - caseblocks_api.gemspec
192
192
  - lib/caseblocks_api.rb
193
193
  - lib/caseblocks_api/authentication_exception.rb
194
194
  - lib/caseblocks_api/bucket_results.rb
195
+ - lib/caseblocks_api/case_creation_error.rb
195
196
  - lib/caseblocks_api/get_cases.rb
196
197
  - lib/caseblocks_api/searcher.rb
197
198
  - lib/caseblocks_api/update_case.rb
@@ -217,7 +218,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
217
218
  version: '0'
218
219
  segments:
219
220
  - 0
220
- hash: 2296649421097839558
221
+ hash: 240038132313134027
221
222
  required_rubygems_version: !ruby/object:Gem::Requirement
222
223
  none: false
223
224
  requirements: