spec/lib/manager_authenticator_spec.rb
require "rails_helper"
describe ManagerAuthenticator do
let(:authenticator) do
ManagerAuthenticator.new(login: "JJB033", clave_usuario: "31415926", fecha_conexion: "20151031135905")
end
describe "initialization params" do
it "causes auth to return false if blank login" do
blank_login_authenticator = ManagerAuthenticator.new(
login: "",
clave_usuario: "31415926",
fecha_conexion: "20151031135905"
)
expect(blank_login_authenticator.auth).to be false
end
it "causes auth to return false if blank user_key" do
blank_user_key_authenticator = ManagerAuthenticator.new(
login: "JJB033",
clave_usuario: "",
fecha_conexion: "20151031135905"
)
expect(blank_user_key_authenticator.auth).to be false
end
it "causes auth to return false if blank date" do
blank_date_authenticator = ManagerAuthenticator.new(
login: "JJB033",
clave_usuario: "31415926",
fecha_conexion: ""
)
expect(blank_date_authenticator.auth).to be false
end
end
describe "#auth" do
it "returns false if not manager_exists" do
allow(authenticator).to receive_messages(manager_exists?: false, application_authorized?: true)
expect(authenticator.auth).to be false
end
it "returns false if not application_authorized" do
allow(authenticator).to receive_messages(manager_exists?: true, application_authorized?: false)
expect(authenticator.auth).to be false
end
it "returns ok if manager_exists and application_authorized" do
allow(authenticator).to receive_messages(manager_exists?: true, application_authorized?: true)
expect(authenticator.auth).to be_truthy
end
end
describe "SOAP" do
it "calls the verification user method" do
message = { ub: { user_key: "31415926", date: "20151031135905" }}
allow(authenticator).to receive(:application_authorized?).and_return(true)
allow(authenticator.send(:client)).to receive(:call).with(:get_status_user_data, message: message)
authenticator.auth
end
it "calls the permissions check method" do
allow(authenticator).to receive(:manager_exists?).and_return(true)
allow(authenticator.send(:client)).to receive(:call).with(:get_applications_user_list,
message: { ub: { user_key: "31415926" }})
authenticator.auth
end
end
end