Browse Source

Add show action for JSON API

pull/51/head
baarkerlounger 4 years ago
parent
commit
69c365c475
  1. 14
      app/controllers/case_logs_controller.rb
  2. 18
      spec/requests/case_log_controller_spec.rb

14
app/controllers/case_logs_controller.rb

@ -33,9 +33,17 @@ class CaseLogsController < ApplicationController
end end
end end
# We don't have a dedicated non-editable show view
def show def show
edit respond_to do |format|
format.html { edit }
format.json do
if (case_log = CaseLog.find_by(id: params[:id]))
render json: case_log, status: :ok
else
render json: { error: "Case Log #{params[:id]} not found" }, status: :not_found
end
end
end
end end
def edit def edit
@ -90,7 +98,7 @@ class CaseLogsController < ApplicationController
private private
API_ACTIONS = %w[create update destroy].freeze API_ACTIONS = %w[create show update destroy].freeze
def question_responses(questions_for_page) def question_responses(questions_for_page)
questions_for_page.each_with_object({}) do |(question_key, question_info), result| questions_for_page.each_with_object({}) do |(question_key, question_info), result|

18
spec/requests/case_log_controller_spec.rb

@ -99,6 +99,24 @@ RSpec.describe CaseLogsController, type: :request do
end end
end end
describe "GET" do
let(:case_log) { FactoryBot.create(:case_log, :completed) }
let(:id) { case_log.id }
before do
get "/case_logs/#{id}", headers: headers
end
it "returns http success" do
expect(response).to have_http_status(:success)
end
it "returns a serialized Case Log" do
json_response = JSON.parse(response.body)
expect(json_response["status"]).to eq(case_log.status)
end
end
describe "PATCH" do describe "PATCH" do
let(:case_log) do let(:case_log) do
FactoryBot.create(:case_log, :in_progress, tenant_code: "Old Value", property_postcode: "Old Value") FactoryBot.create(:case_log, :in_progress, tenant_code: "Old Value", property_postcode: "Old Value")

Loading…
Cancel
Save