File tree Expand file tree Collapse file tree 2 files changed +15
-1
lines changed Expand file tree Collapse file tree 2 files changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -23,11 +23,13 @@ def present
23
23
private
24
24
25
25
def present_string_message ( message )
26
- {
26
+ data = {
27
27
code : code ,
28
28
description : description ,
29
29
message : message
30
30
}
31
+ data [ :backtrace ] = self . error . backtrace if self . error . respond_to? ( :backtrace )
32
+ data
31
33
end
32
34
33
35
def present_hash_message ( message )
Original file line number Diff line number Diff line change @@ -65,6 +65,7 @@ def create_guru(explicit_params = {})
65
65
expect ( guru_response [ :id ] ) . to eq ( guru . id )
66
66
expect ( guru_response [ :username ] ) . to eq ( user_name )
67
67
end
68
+
68
69
it "returns 404 when guru is not present" do
69
70
get ( "gurus_api/v1/gurus/noname" )
70
71
@@ -113,6 +114,17 @@ def create_guru_with_followers(followers_count)
113
114
expect ( response_json [ :gurus ] . second [ :id ] ) . to eq ( guru3 . id )
114
115
expect ( response_json [ :gurus ] . last [ :id ] ) . to eq ( guru1 . id )
115
116
end
117
+
118
+ it "error handling" do
119
+ allow ( Guru ) . to receive ( :all ) . and_raise ( StandardError . new )
120
+ get ( "gurus_api/v1/gurus" )
121
+
122
+ expect ( last_response . status ) . to eq ( 500 )
123
+ expect ( response_json [ :errors ] . count ) . to be ( 1 )
124
+ expect ( response_json [ :errors ] [ 0 ] [ :code ] ) . to be
125
+ expect ( response_json [ :errors ] [ 0 ] [ :description ] ) . to be
126
+ expect ( response_json [ :errors ] [ 0 ] [ :backtrace ] ) . to be
127
+ end
116
128
end
117
129
118
130
describe "POST /" , :authenticated_user do
You can’t perform that action at this time.
0 commit comments