introspective_grape 0.3.5 → 0.4.1

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.
Files changed (41) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +5 -52
  3. data/CHANGELOG.md +40 -0
  4. data/Gemfile +2 -0
  5. data/README.md +15 -0
  6. data/gemfiles/{Gemfile.rails.4.2.7.1 → Gemfile.rails.5.0.0} +5 -4
  7. data/gemfiles/Gemfile.rails.5.0.1 +1 -0
  8. data/gemfiles/{Gemfile.rails.4.2.7.1.new.swagger → Gemfile.rails.5.1.0} +5 -3
  9. data/gemfiles/{Gemfile.rails.3.2.22 → Gemfile.rails.5.2.0} +5 -4
  10. data/gemfiles/Gemfile.rails.master +1 -0
  11. data/introspective_grape.gemspec +13 -12
  12. data/lib/introspective_grape.rb +3 -1
  13. data/lib/introspective_grape/api.rb +36 -31
  14. data/lib/introspective_grape/camel_snake.rb +30 -31
  15. data/lib/introspective_grape/configuration.rb +15 -0
  16. data/lib/introspective_grape/create_helpers.rb +2 -2
  17. data/lib/introspective_grape/version.rb +1 -1
  18. data/spec/dummy/Gemfile +6 -3
  19. data/spec/dummy/app/api/api_helpers.rb +2 -0
  20. data/spec/dummy/app/api/dummy/company_api.rb +1 -1
  21. data/spec/dummy/app/models/role.rb +1 -1
  22. data/spec/dummy/app/models/user.rb +2 -2
  23. data/spec/dummy/config.ru +12 -0
  24. data/spec/dummy/config/application.rb +1 -1
  25. data/spec/dummy/config/environments/development.rb +3 -3
  26. data/spec/dummy/config/initializers/paperclip_adapter.rb +1 -1
  27. data/spec/dummy/db/migrate/20190325231304_add_test_data.rb +5 -0
  28. data/spec/dummy/db/schema.rb +154 -173
  29. data/spec/requests/chat_api_spec.rb +26 -26
  30. data/spec/requests/company_api_spec.rb +15 -15
  31. data/spec/requests/location_api_spec.rb +18 -18
  32. data/spec/requests/project_api_spec.rb +21 -21
  33. data/spec/requests/role_api_spec.rb +4 -4
  34. data/spec/requests/sessions_api_spec.rb +10 -10
  35. data/spec/requests/swagger_spec.rb +1 -1
  36. data/spec/requests/user_api_spec.rb +34 -36
  37. metadata +49 -51
  38. data/gemfiles/2.0.0-Gemfile +0 -22
  39. data/gemfiles/2.2.0-Gemfile +0 -21
  40. data/gemfiles/Gemfile.rails.4.1.13 +0 -13
  41. data/gemfiles/Gemfile.rails.4.2.8 +0 -12
@@ -31,7 +31,7 @@ describe Dummy::ChatAPI, type: :request do
31
31
 
32
32
  it "should return a list of a user's chats" do
33
33
  get "/api/v1/chats"
34
- response.should be_success
34
+ response.should be_successful
35
35
  json.size.should == 2
36
36
  json.first['creator_id'].to_i.should == @sender.id
37
37
  json.first['users'].size.should == Chat.find(json.first['id']).users.size
@@ -40,20 +40,20 @@ describe Dummy::ChatAPI, type: :request do
40
40
  context :notifications do
41
41
  it "should get new chat notifications" do
42
42
  get "/api/v1/chats/notifications/"
43
- response.should be_success
43
+ response.should be_successful
44
44
  json.keys.size.should == 1
45
45
  json[@pm.id.to_s].should == 3
46
46
  end
47
47
 
48
48
  it "should get new chat notifications for a particular chat" do
49
- get "/api/v1/chats/notifications/", id: @pm.id
50
- response.should be_success
49
+ get "/api/v1/chats/notifications/", params: { id: @pm.id }
50
+ response.should be_successful
51
51
  json[@pm.id.to_s].should == 3
52
52
  end
53
53
 
54
54
  it "should return 0 for non-existent chats" do
55
- get "/api/v1/chats/notifications/", id: 0
56
- response.should be_success
55
+ get "/api/v1/chats/notifications/", params: { id: 0 }
56
+ response.should be_successful
57
57
  json['0'].should == 0
58
58
  end
59
59
  end
@@ -61,23 +61,23 @@ describe Dummy::ChatAPI, type: :request do
61
61
  context :messages do
62
62
 
63
63
  it "should get no new chat messages if user was last to reply" do
64
- get "/api/v1/chats/messages", id: @chat.id, new: true
65
- response.should be_success
64
+ get "/api/v1/chats/messages", params: { id: @chat.id, new: true }
65
+ response.should be_successful
66
66
  json.size.should == 0
67
67
  end
68
68
 
69
69
  it "should get new chat messages if user recieves another reply" do
70
70
  @sender.reply(@chat, "And now for something completely different.")
71
- get "/api/v1/chats/messages", id: @chat.id, new: true
72
- response.should be_success
71
+ get "/api/v1/chats/messages", params: { id: @chat.id, new: true }
72
+ response.should be_successful
73
73
  json.size.should == 1
74
74
  end
75
75
 
76
76
  it "should mark all new messages from all chats as read if mark_as_read is true" do
77
77
  @sender.reply(@chat, 'A new response.')
78
78
  @current_user.new_messages?.keys.size.should == 2
79
- get "/api/v1/chats/messages", new: true, mark_as_read: true
80
- response.should be_success
79
+ get "/api/v1/chats/messages", params: { new: true, mark_as_read: true }
80
+ response.should be_successful
81
81
  json.size.should == 4
82
82
  @current_user.new_messages?.keys.size.should == 0
83
83
  end
@@ -86,8 +86,8 @@ describe Dummy::ChatAPI, type: :request do
86
86
 
87
87
  context :users do
88
88
  it "should list the users in a chat" do
89
- get "/api/v1/chats/users", id: @chat.id
90
- response.should be_success
89
+ get "/api/v1/chats/users", params: { id: @chat.id }
90
+ response.should be_successful
91
91
  json.size.should == 3
92
92
  json.map{|u| u['email']}.sort.should == [ "current_user@springshot.com", "lurker@springshot.com", "sender@springshot.com" ]
93
93
  end
@@ -95,8 +95,8 @@ describe Dummy::ChatAPI, type: :request do
95
95
  it "should add a new user to a chat" do
96
96
  new_user1 = User.make
97
97
  new_user1.save!
98
- post "/api/v1/chats/users", id: @chat.id, user_ids: new_user1.id
99
- response.should be_success
98
+ post "/api/v1/chats/users", params: { id: @chat.id, user_ids: new_user1.id }
99
+ response.should be_successful
100
100
  json['status'].should == true
101
101
  @chat.reload
102
102
  @chat.active_users.include?(new_user1).should == true
@@ -107,8 +107,8 @@ describe Dummy::ChatAPI, type: :request do
107
107
  new_user2 = User.make
108
108
  new_user1.save!
109
109
  new_user2.save!
110
- post "/api/v1/chats/users", id: @chat.id, user_ids: "#{new_user1.id},#{new_user2.id}"
111
- response.should be_success
110
+ post "/api/v1/chats/users", params: { id: @chat.id, user_ids: "#{new_user1.id},#{new_user2.id}" }
111
+ response.should be_successful
112
112
  json['status'].should == true
113
113
  @chat.reload
114
114
  @chat.active_users.include?(new_user1).should == true
@@ -117,7 +117,7 @@ describe Dummy::ChatAPI, type: :request do
117
117
 
118
118
  it "should be invalid to add an already active chat member to a chat" do
119
119
  @chat.chat_users.size.should == 3
120
- post "/api/v1/chats/users", id: @chat.id, user_ids: @chat.active_users.first.id
120
+ post "/api/v1/chats/users", params: { id: @chat.id, user_ids: @chat.active_users.first.id }
121
121
  response.status.should == 400
122
122
  json['error'].should == "#{@chat.active_users.first.name} is already present in this chat."
123
123
  @chat.reload
@@ -125,7 +125,7 @@ describe Dummy::ChatAPI, type: :request do
125
125
  end
126
126
 
127
127
  it "should raise an error when an outsider tries to add themselves to a chat" do
128
- post "/api/v1/chats/users", id: @lurk.id, user_ids: @current_user.id
128
+ post "/api/v1/chats/users", params: { id: @lurk.id, user_ids: @current_user.id }
129
129
  response.status.should == 400
130
130
  json['error'].should == 'Only current chat participants can add users.'
131
131
  @lurk.reload
@@ -136,8 +136,8 @@ describe Dummy::ChatAPI, type: :request do
136
136
 
137
137
  context :chat do
138
138
  it "should start a new chat" do
139
- post "/api/v1/chats", user_ids:@lurker.id, message: 'a new chat'
140
- response.should be_success
139
+ post "/api/v1/chats", params: { user_ids:@lurker.id, message: 'a new chat' }
140
+ response.should be_successful
141
141
  json['creator_id'].should == @current_user.id
142
142
  Chat.last.creator.should == @current_user
143
143
  Chat.last.messages.map(&:message).first.should == 'a new chat'
@@ -145,8 +145,8 @@ describe Dummy::ChatAPI, type: :request do
145
145
  end
146
146
 
147
147
  it "should reply to a chat" do
148
- put "/api/v1/chats/#{@chat.id}", message: 'A reply.'
149
- response.should be_success
148
+ put "/api/v1/chats/#{@chat.id}", params: { message: 'A reply.' }
149
+ response.should be_successful
150
150
  ChatMessage.last.author.should == @current_user
151
151
  @sender.read_messages(Chat.last.id ).last.message.should == 'A reply.'
152
152
  @lurker.read_messages(Chat.last.id ).last.message.should == 'A reply.'
@@ -154,7 +154,7 @@ describe Dummy::ChatAPI, type: :request do
154
154
 
155
155
  it "should leave a chat" do
156
156
  delete "/api/v1/chats/#{@chat.id}"
157
- response.should be_success
157
+ response.should be_successful
158
158
  json['status'].should == true
159
159
  @chat.reload
160
160
  @chat.active_users.include?(@current_user).should == false
@@ -163,7 +163,7 @@ describe Dummy::ChatAPI, type: :request do
163
163
  it "should only allow chat participants to reply" do
164
164
  @current_user.leave_chat(@chat)
165
165
  @current_user.reload
166
- put "/api/v1/chats/#{@chat.id}", message: "I'm an interloper"
166
+ put "/api/v1/chats/#{@chat.id}", params: { message: "I'm an interloper" }
167
167
  response.status.should == 400
168
168
  json['error'].should == 'Messages: is invalid'
169
169
  @chat.messages.last.should_not == "I'm an interloper"
@@ -4,13 +4,13 @@ describe Dummy::CompanyAPI, type: :request do
4
4
  context :default_values do
5
5
  it "should respect default values" do
6
6
  get '/api/v1/companies/special/list'
7
- response.should be_success
7
+ response.should be_successful
8
8
  json.should eq({"boolean_default"=>false, "string_default"=>"foo", "integer_default"=>123})
9
9
  end
10
10
 
11
11
  it "should override default values" do
12
- get '/api/v1/companies/special/list', boolean_default: true, string_default: 'bar', integer_default: 321
13
- response.should be_success
12
+ get '/api/v1/companies/special/list', params: { boolean_default: true, string_default: 'bar', integer_default: 321 }
13
+ response.should be_successful
14
14
  json.should eq({"boolean_default"=>true, "string_default"=>"bar", "integer_default"=>321})
15
15
  end
16
16
  end
@@ -22,7 +22,7 @@ describe Dummy::CompanyAPI, type: :request do
22
22
 
23
23
  get '/api/v1/companies'
24
24
 
25
- response.should be_success
25
+ response.should be_successful
26
26
  json.length.should eq 25
27
27
  json.first['id'].should eq Company.first.id
28
28
  response.headers.slice("X-Total", "X-Total-Pages", "X-Per-Page", "X-Page", "X-Next-Page", "X-Prev-Page", "X-Offset").values.should eq ["30", "2", "25", "1", "2", "", "0"]
@@ -37,14 +37,14 @@ describe Dummy::CompanyAPI, type: :request do
37
37
 
38
38
  it "should return a list of companies" do
39
39
  get '/api/v1/companies'
40
- response.should be_success
40
+ response.should be_successful
41
41
  json.length.should > 0
42
42
  json.map{|c| c['id'].to_i}.include?(company.id).should == true
43
43
  end
44
44
 
45
45
  it "should return the specified company" do
46
46
  get "/api/v1/companies/#{company.id}"
47
- response.should be_success
47
+ response.should be_successful
48
48
  json['name'].should == company.name
49
49
  end
50
50
 
@@ -55,14 +55,14 @@ describe Dummy::CompanyAPI, type: :request do
55
55
 
56
56
 
57
57
  it "should create a company" do
58
- post "/api/v1/companies", { name: 'Test 123', short_name: 'T123' }
59
- response.should be_success
58
+ post "/api/v1/companies", params: { name: 'Test 123', short_name: 'T123' }
59
+ response.should be_successful
60
60
  json['name'].should == "Test 123"
61
61
  json['short_name'].should == "T123"
62
62
  end
63
63
 
64
64
  it "should validate a new company" do
65
- post "/api/v1/companies", { name: 'a'*257, short_name: 'a'*11 }
65
+ post "/api/v1/companies", params: { name: 'a'*257, short_name: 'a'*11 }
66
66
  response.code.should == "400"
67
67
  json['error'].should == "Name: is too long (maximum is 256 characters), Short Name: is too long (maximum is 10 characters)"
68
68
  end
@@ -70,8 +70,8 @@ describe Dummy::CompanyAPI, type: :request do
70
70
 
71
71
  it "should update the company" do
72
72
  new_name = 'New Test 1234'
73
- put "/api/v1/companies/#{company.id}", { name: new_name }
74
- response.should be_success
73
+ put "/api/v1/companies/#{company.id}", params: { name: new_name }
74
+ response.should be_successful
75
75
  company.reload
76
76
  company.name.should == new_name
77
77
  json['name'].should == new_name
@@ -79,7 +79,7 @@ describe Dummy::CompanyAPI, type: :request do
79
79
 
80
80
  it "should validate the company on update" do
81
81
  old_name = company.name
82
- put "/api/v1/companies/#{company.id}", { name: 'a'*257, short_name: 'a'*11 }
82
+ put "/api/v1/companies/#{company.id}", params: { name: 'a'*257, short_name: 'a'*11 }
83
83
  response.code.should == "400"
84
84
  company.reload
85
85
  company.name.should == old_name
@@ -87,17 +87,17 @@ describe Dummy::CompanyAPI, type: :request do
87
87
  end
88
88
 
89
89
  it "should validate json parameters" do
90
- put "/api/v1/companies/#{company.id}", { gizmos: "garbage" }
90
+ put "/api/v1/companies/#{company.id}", params: { gizmos: "garbage" }
91
91
  json["error"].should eq "gizmos must be valid JSON!"
92
92
  end
93
93
 
94
94
  it "should validate json array parameters" do
95
- put "/api/v1/companies/#{company.id}", { widgets: "[garbage[\"A\",\"B\"]" }
95
+ put "/api/v1/companies/#{company.id}", params: { widgets: "[garbage[\"A\",\"B\"]" }
96
96
  json["error"].should eq "widgets must be a valid JSON array!"
97
97
  end
98
98
 
99
99
  it "should validate json hash parameters" do
100
- put "/api/v1/companies/#{company.id}", { sprockets: "{\"foo\":\"bar\"}garbage}" }
100
+ put "/api/v1/companies/#{company.id}", params: { sprockets: "{\"foo\":\"bar\"}garbage}" }
101
101
  json["error"].should eq "sprockets must be a valid JSON hash!"
102
102
  end
103
103
 
@@ -13,7 +13,7 @@ describe Dummy::LocationAPI, type: :request do
13
13
 
14
14
  it "should return an array of camelized location entities" do
15
15
  get '/api/v1/locations'
16
- response.should be_success
16
+ response.should be_successful
17
17
  j = JSON.parse(response.body)
18
18
  j.each {|l| l.key?('childLocations').should be_truthy }
19
19
  j.each {|l| l.key?('parentLocationId').should be_truthy }
@@ -23,7 +23,7 @@ describe Dummy::LocationAPI, type: :request do
23
23
 
24
24
  it "should return a list of top level locations and their children" do
25
25
  get '/api/v1/locations'
26
- response.should be_success
26
+ response.should be_successful
27
27
  json.length.should eq 2
28
28
  json.map{|l| l['id'].to_i }.include?(location.id).should == true
29
29
 
@@ -33,15 +33,15 @@ describe Dummy::LocationAPI, type: :request do
33
33
 
34
34
 
35
35
  it "should generate basic filters on the whitelisted model attributes" do
36
- get '/api/v1/locations', { name: "TEST" }
37
- response.should be_success
36
+ get '/api/v1/locations', params: { name: "TEST" }
37
+ response.should be_successful
38
38
  json.length.should eq 1
39
39
  json.first['name'].should eq "TEST"
40
40
  end
41
41
 
42
42
  it "should parse more advanced JSON filters" do
43
- get '/api/v1/locations', filter: "{\"child_locations_locations\":{\"name\":\"Terminal A\"}}"
44
- response.should be_success
43
+ get '/api/v1/locations', params: { filter: "{\"child_locations_locations\":{\"name\":\"Terminal A\"}}" }
44
+ response.should be_successful
45
45
  json.length.should eq 1
46
46
  json.first['child_locations'].length.should eq 1
47
47
  json.first['child_locations'].first['name'].should eq "Terminal A"
@@ -49,7 +49,7 @@ describe Dummy::LocationAPI, type: :request do
49
49
 
50
50
  it "should return the specified location" do
51
51
  get "/api/v1/locations/#{location.id}"
52
- response.should be_success
52
+ response.should be_successful
53
53
  json['name'].should == location.name
54
54
  end
55
55
 
@@ -59,15 +59,15 @@ describe Dummy::LocationAPI, type: :request do
59
59
  end
60
60
 
61
61
  it "should create a location" do
62
- post "/api/v1/locations", { name: 'Test 123', kind: "terminal" }
63
- response.should be_success
62
+ post "/api/v1/locations", params: { name: 'Test 123', kind: "terminal" }
63
+ response.should be_successful
64
64
  json['name'].should == "Test 123"
65
65
  end
66
66
 
67
67
  it "should create a location with a beacon" do
68
68
  b = LocationBeacon.make(company: Company.last)
69
- post "/api/v1/locations", { name: 'Test 123', kind: "gate", beacons_attributes: [ b.attributes ] }
70
- response.should be_success
69
+ post "/api/v1/locations", params: { name: 'Test 123', kind: "gate", beacons_attributes: [ b.attributes ] }
70
+ response.should be_successful
71
71
  json['name'].should == "Test 123"
72
72
  l = Location.find(json['id'])
73
73
  created = l.beacons.first
@@ -78,8 +78,8 @@ describe Dummy::LocationAPI, type: :request do
78
78
 
79
79
  it "should create a location with gps coordinates" do
80
80
  gps = LocationGps.make
81
- post "/api/v1/locations", { name: 'Test 123', kind: "airport", gps_attributes: gps.attributes }
82
- response.should be_success
81
+ post "/api/v1/locations", params: { name: 'Test 123', kind: "airport", gps_attributes: gps.attributes }
82
+ response.should be_successful
83
83
  json['name'].should == "Test 123"
84
84
  l = Location.find(json['id'])
85
85
  created = l.gps
@@ -90,15 +90,15 @@ describe Dummy::LocationAPI, type: :request do
90
90
  end
91
91
 
92
92
  it "should validate a new location" do
93
- post "/api/v1/locations", { name: 'test' }
93
+ post "/api/v1/locations", params: { name: 'test' }
94
94
  response.code.should == "400"
95
95
  json['error'].should == "Kind: is not included in the list"
96
96
  end
97
97
 
98
98
  it "should update the location" do
99
99
  new_name = 'New Test 1234'
100
- put "/api/v1/locations/#{location.id}", { name: new_name }
101
- response.should be_success
100
+ put "/api/v1/locations/#{location.id}", params: { name: new_name }
101
+ response.should be_successful
102
102
  location.reload
103
103
  location.name.should == new_name
104
104
  json['name'].should == new_name
@@ -106,7 +106,7 @@ describe Dummy::LocationAPI, type: :request do
106
106
 
107
107
  it "should validate the location on update" do
108
108
  old_kind = location.kind
109
- put "/api/v1/locations/#{location.id}", { kind: 'bring the noise' }
109
+ put "/api/v1/locations/#{location.id}", params: { kind: 'bring the noise' }
110
110
  response.code.should == "400"
111
111
  location.reload
112
112
  location.kind.should == old_kind
@@ -116,7 +116,7 @@ describe Dummy::LocationAPI, type: :request do
116
116
  it "should destroy the location and all of its child and grandchild locations" do
117
117
  child_locations = location.child_locations.map {|l| [l.id, l.child_locations.map(&:id)] }.flatten
118
118
  delete "/api/v1/locations/#{location.id}"
119
- response.should be_success
119
+ response.should be_successful
120
120
  Location.find_by_id(location.id).should == nil
121
121
  Location.where(id: child_locations).size.should == 0
122
122
  end
@@ -24,15 +24,15 @@ describe Dummy::ProjectAPI, type: :request do
24
24
 
25
25
  context "As a super admin" do
26
26
  it "should return a list of all projects" do
27
- get '/api/v1/projects', per_page: 10, offset: 0
28
- response.should be_success
27
+ get '/api/v1/projects', params: { per_page: 10, offset: 0 }
28
+ response.should be_successful
29
29
  json.length.should == Project.count
30
30
  json.map{|c| c['id'].to_i}.include?(project.id).should == true
31
31
  end
32
32
 
33
33
  it "should return the specified project" do
34
34
  get "/api/v1/projects/#{project.id}"
35
- response.should be_success
35
+ response.should be_successful
36
36
  json['name'].should == project.name
37
37
  end
38
38
 
@@ -56,8 +56,8 @@ describe Dummy::ProjectAPI, type: :request do
56
56
  p = {
57
57
  name: 'New Team', team_users_attributes: [{ user_id: @u1.id }, { user_id: @u2.id }]
58
58
  }
59
- post "/api/v1/projects/#{project.id}/teams", p
60
- response.should be_success
59
+ post "/api/v1/projects/#{project.id}/teams", params: p
60
+ response.should be_successful
61
61
  Team.last.name.should == 'New Team'
62
62
  Team.last.users.to_a.should == [@u1,@u2]
63
63
  end
@@ -66,8 +66,8 @@ describe Dummy::ProjectAPI, type: :request do
66
66
  p = { team_users_attributes: [
67
67
  { user_id: @u1.id }, { user_id: @u2.id }
68
68
  ] }
69
- put "/api/v1/projects/#{project.id}/teams/#{@team.id}", p
70
- response.should be_success
69
+ put "/api/v1/projects/#{project.id}/teams/#{@team.id}", params: p
70
+ response.should be_successful
71
71
 
72
72
  Team.last.users.to_a.should == [@u1,@u2]
73
73
  end
@@ -78,8 +78,8 @@ describe Dummy::ProjectAPI, type: :request do
78
78
  p = { team_users_attributes: [
79
79
  { id: @team.team_users.where(user_id:@u1.id).first.id, _destroy: 1 }
80
80
  ] }
81
- put "/api/v1/projects/#{project.id}/teams/#{@team.id}", p
82
- response.should be_success
81
+ put "/api/v1/projects/#{project.id}/teams/#{@team.id}", params: p
82
+ response.should be_successful
83
83
  Team.last.users.to_a.should == [@u2]
84
84
  end
85
85
  end
@@ -87,8 +87,8 @@ describe Dummy::ProjectAPI, type: :request do
87
87
  context "edit a project team via nested routes" do
88
88
  it "should add a team member" do
89
89
  p = { user_id: @u1.id }
90
- post "/api/v1/projects/#{project.id}/teams/#{@team.id}/team_users", p
91
- response.should be_success
90
+ post "/api/v1/projects/#{project.id}/teams/#{@team.id}/team_users", params: p
91
+ response.should be_successful
92
92
  Team.last.users.to_a.should == [@u1]
93
93
  end
94
94
 
@@ -97,7 +97,7 @@ describe Dummy::ProjectAPI, type: :request do
97
97
  @team.save!
98
98
  id = @team.team_users.where(user_id:@u1.id).first.id
99
99
  delete "/api/v1/projects/#{project.id}/teams/#{@team.id}/team_users/#{id}"
100
- response.should be_success
100
+ response.should be_successful
101
101
  Team.last.users.to_a.should == [@u2]
102
102
  end
103
103
  end
@@ -118,8 +118,8 @@ describe Dummy::ProjectAPI, type: :request do
118
118
  end
119
119
 
120
120
  it "should return a list of all the company's projects" do
121
- get '/api/v1/projects', offset: 0
122
- response.should be_success
121
+ get '/api/v1/projects', params: { offset: 0 }
122
+ response.should be_successful
123
123
  json.length.should == 2
124
124
  json.map{|c| c['name']}.include?("Manufacture Sprockets").should == true
125
125
  json.map{|c| c['name']}.include?("Disassemble Sprockets").should == true
@@ -140,8 +140,8 @@ describe Dummy::ProjectAPI, type: :request do
140
140
  end
141
141
 
142
142
  it "should return a list of all the project admin's projects" do
143
- get '/api/v1/projects', offset: 0
144
- response.should be_success
143
+ get '/api/v1/projects', params: { offset: 0 }
144
+ response.should be_successful
145
145
  json.length.should == 1
146
146
  json.map{|c| c['name']}.include?("Manufacture Sprockets").should == true
147
147
  json.map{|c| c['name']}.include?("Disassemble Sprockets").should == false
@@ -156,7 +156,7 @@ describe Dummy::ProjectAPI, type: :request do
156
156
 
157
157
  it "should return the project API's declared default paginated results" do
158
158
  get '/api/v1/projects'
159
- response.should be_success
159
+ response.should be_successful
160
160
  json.length.should == 2
161
161
  json.first['id'].should eq Project.all[2].id
162
162
  json.second['id'].should eq Project.all[3].id
@@ -164,17 +164,17 @@ describe Dummy::ProjectAPI, type: :request do
164
164
  end
165
165
 
166
166
  it "should return the request number of results" do
167
- get '/api/v1/projects', per_page: 9, offset: 9
168
- response.should be_success
167
+ get '/api/v1/projects', params: { per_page: 9, offset: 9 }
168
+ response.should be_successful
169
169
  json.size.should == 9
170
170
  json.map {|j| j['id']}.should eq Project.all[9..17].map(&:id)
171
171
  response.headers.slice("X-Total", "X-Total-Pages", "X-Per-Page", "X-Page", "X-Next-Page", "X-Prev-Page", "X-Offset").values.should eq ["20", "2", "9", "1", "2", "", "9"]
172
172
  end
173
173
 
174
174
  it "should respect the maximum number of results" do
175
- get '/api/v1/projects', per_page: 20, offset: 0
175
+ get '/api/v1/projects', params: { per_page: 20, offset: 0 }
176
176
  response.code.should eq "400"
177
- json['error'].should eq "per_page must be less than 10"
177
+ json['error'].should eq "per_page must be less than or equal 10"
178
178
  end
179
179
  end
180
180