demarches-normaliennes/spec/services/agent_connect_service_spec.rb

44 lines
1.3 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
describe AgentConnectService do
describe '.logout_url' do
let(:id_token) { 'id_token' }
before do
::AGENT_CONNECT ||= {}
allow(AGENT_CONNECT).to receive(:[])
.with(:end_session_endpoint).and_return("https://agent-connect.fr/logout")
end
subject { described_class.logout_url(id_token, host_with_port: 'test.host') }
it 'returns the correct url' do
expect(subject).to eq("https://agent-connect.fr/logout?id_token_hint=id_token&post_logout_redirect_uri=http%3A%2F%2Ftest.host%2Flogout")
end
end
2024-12-12 15:25:54 +01:00
describe '.email_domain_is_in_mandatory_list?' do
subject { described_class.email_domain_is_in_mandatory_list?(email) }
context 'when email domain is beta.gouv.fr' do
let(:email) { 'user@beta.gouv.fr' }
it { is_expected.to be true }
end
context 'when email domain is modernisation.gouv.fr' do
let(:email) { 'user@modernisation.gouv.fr' }
it { is_expected.to be true }
end
context 'when email domain is not in the mandatory list' do
let(:email) { 'user@example.com' }
it { is_expected.to be false }
end
context 'when email contains whitespace' do
let(:email) { ' user@beta.gouv.fr ' }
it { is_expected.to be true }
end
end
end