|
|
|
require "rails_helper"
|
|
|
|
require_relative "../request_helper"
|
|
|
|
|
|
|
|
RSpec.describe SoftValidationsController, type: :request do
|
|
|
|
let(:params) { { case_log_id: case_log.id } }
|
|
|
|
let(:url) { "/logs/#{case_log.id}/net-income/soft-validations" }
|
|
|
|
let(:user) { FactoryBot.create(:user) }
|
|
|
|
|
|
|
|
before do
|
|
|
|
RequestHelper.stub_http_requests
|
|
|
|
end
|
|
|
|
|
|
|
|
context "when a user is not signed in" do
|
|
|
|
let(:case_log) { FactoryBot.create(:case_log, :in_progress) }
|
|
|
|
|
|
|
|
describe "GET #show" do
|
|
|
|
it "redirects to the sign in page" do
|
|
|
|
get url, headers: headers, params: {}
|
|
|
|
expect(response).to redirect_to("/users/sign-in")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "when a user is signed in" do
|
|
|
|
before do
|
|
|
|
sign_in user
|
|
|
|
get url, params: {}
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "GET #show" do
|
|
|
|
context "when a soft validation is triggered" do
|
|
|
|
let(:case_log) { FactoryBot.create(:case_log, :soft_validations_triggered) }
|
|
|
|
|
|
|
|
it "returns a success response" do
|
|
|
|
expect(response).to be_successful
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns a json with the soft validation fields" do
|
|
|
|
json_response = JSON.parse(response.body)
|
|
|
|
expect(json_response["show"]).to eq(true)
|
|
|
|
expect(json_response["label"]).to match(/Are you sure this is correct?/)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "when no soft validation is triggered" do
|
|
|
|
let(:case_log) { FactoryBot.create(:case_log, :in_progress) }
|
|
|
|
|
|
|
|
it "returns a success response" do
|
|
|
|
expect(response).to be_successful
|
|
|
|
end
|
|
|
|
|
|
|
|
it "returns a json without the soft validation fields" do
|
|
|
|
json_response = JSON.parse(response.body)
|
|
|
|
expect(json_response["show"]).to eq(false)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|