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