spec/support/fake_api.rb in finapps-5.0.46 vs spec/support/fake_api.rb in finapps-5.0.47
- old
+ new
@@ -1,10 +1,12 @@
# frozen_string_literal: true
require 'sinatra/base'
require_relative 'documents_uploads_routes'
+
module Fake
+ # rubocop:disable Metrics/ClassLength
# the FakeApi class is used to mock API requests while testing.
class FakeApi < Sinatra::Base
def self.version
"v#{FinAppsCore::REST::Defaults::API_VERSION}"
end
@@ -273,10 +275,39 @@
get("/#{version}/esign_templates") { json_response 200, 'esign_templates.json' }
# document_upload_types
get("/#{version}/documents/upload_types") { json_response 200, 'upload_types.json' }
+ # screenings
+ get("/#{version}/screenings") { json_response 200, 'screening_list.json' }
+ get("/#{version}/screenings/invalid_id/resume") do
+ json_response 404, 'resource_not_found.json'
+ end
+ get("/#{version}/screenings/valid_id/resume") { json_response 200, 'screening.json' }
+ put("/#{version}/screenings/invalid_id") do
+ json_response 404, 'resource_not_found.json'
+ end
+ put("/#{version}/screenings/valid_id") do
+ request.body.rewind
+ request_payload = JSON.parse request.body.read
+ if request_payload['question_id'] == 'invalid'
+ json_response 400, 'screening_invalid_update.json'
+ else
+ json_response 200, 'screening.json'
+ end
+ end
+
+ post("/#{version}/screenings") do
+ request.body.rewind
+ request_payload = JSON.parse request.body.read
+ if request_payload.key? 'email'
+ json_response 201, 'screening.json'
+ else
+ json_response 400, 'invalid_request_body.json'
+ end
+ end
+
# consumers
get("/#{version}/consumers") do
json_response 200, 'users.json'
end
get("/#{version}/consumers/valid_public_id") do
@@ -513,6 +544,7 @@
content_type content_type
status response_code
File.open("#{File.dirname(__FILE__)}/fixtures/#{file_name}").read
end
end
+ # rubocop:enable Metrics/ClassLength
end