feat: implement login

This commit is contained in:
Shivam Mishra
2025-08-27 14:27:19 +05:30
parent 4fcee3bbba
commit e8b0b24b36
2 changed files with 38 additions and 11 deletions
@@ -36,8 +36,29 @@ RSpec.describe 'SAML Authentication API', type: :request do
expect(response).to have_http_status(:ok)
json_response = JSON.parse(response.body)
expect(json_response['message']).to eq('Login successful')
expect(json_response['user']['email']).to eq('john.doe@example.com')
expect(json_response['data']).to be_present
expect(json_response['data']['email']).to eq('john.doe@example.com')
expect(json_response['data']['id']).to eq(existing_user.id)
end
it 'creates authentication tokens for the user' do
expect do
post "/auth/saml/#{account.id}/callback",
env: { 'omniauth.auth' => auth_hash },
as: :json
end.to change { existing_user.reload.tokens.count }.by(1)
end
it 'updates user sign in tracking' do
existing_user
expect do
post "/auth/saml/#{account.id}/callback",
env: { 'omniauth.auth' => auth_hash },
as: :json
end.to change { existing_user.reload.sign_in_count }.by(1)
expect(existing_user.reload.current_sign_in_at).to be_present
end
end