features/controller_specs/test_endpoint.feature in lurker-0.5.3 vs features/controller_specs/test_endpoint.feature in lurker-0.5.4

- old
+ new

@@ -8,21 +8,28 @@ **NOTE:** the third response example is expecting a successful response and it is, but specs are NOT passing because of nonsufficient `role` attribute Background: - Given a file named "lurker/api/v1/users-POST.json.yml" with: + Given a file named "lurker/api/v1/users/__id-PATCH.json.yml" with: """yml --- prefix: '' description: '' responseCodes: + - status: 400 + successful: true + description: '' - status: 200 successful: true description: '' requestParameters: properties: + id: + description: '' + type: integer + example: 1 user: description: '' type: object properties: name: @@ -41,45 +48,55 @@ description: '' type: string example: Bob required: [] extensions: - action: create - controller: api/v1/users - path_info: "/api/v1/users" - method: POST + path_info: "/api/v1/users/1" + method: PATCH suffix: '' + path_params: + action: update + controller: api/v1/users + id: 1 """ - Scenario: json schema tests request and response using "users/create" + Scenario: json schema tests request and response using "users/update" Given a file named "spec/controllers/api/v1/users_controller_spec.rb" with: """ruby require "spec_helper" describe Api::V1::UsersController, :lurker do render_views - it "creates a new users" do - post :create, user: { name: 'Bob' } + let(:user) do + User.where(name: 'razum2um').first_or_create! + end + + it "updates a user" do + patch :update, id: user.id, user: { name: 'Bob' } expect(response).to be_success end end """ When I run `bin/rspec spec/controllers/api/v1/users_controller_spec.rb` Then the example should pass - Scenario: json schema tests request parameters and tell what fails using "users/create" + Scenario: json schema tests request parameters and tell what fails using "users/update" Given a file named "spec/controllers/api/v1/users_controller_spec.rb" with: """ruby require "spec_helper" describe Api::V1::UsersController, :lurker do render_views - it "creates a new users" do - post :create, user: { name: 1 } + let(:user) do + User.where(name: 'razum2um').first_or_create! + end + + it "updates a user" do + patch :update, id: user.id, user: { name: 1 } expect(response).not_to be_success end end """ @@ -91,20 +108,24 @@ The property '#/user/name' of type Fixnum did not match the following type: string 1 example, 1 failure """ - Scenario: json schema tests response parameters and tell what fails using "users/create" + Scenario: json schema tests response parameters and tell what fails using "users/update" Given a file named "spec/controllers/api/v1/users_controller_spec.rb" with: """ruby require "spec_helper" describe Api::V1::UsersController, :lurker do render_views - it "creates a new users" do - post :create, user: { name: '' } - expect(response).to be_success + let(:user) do + User.where(name: 'razum2um').first_or_create! + end + + it "updates a user" do + patch :update, id: user.id, user: { name: '' } + expect(response).not_to be_success end end """ When I run `bin/rspec spec/controllers/api/v1/users_controller_spec.rb`