Skip to content
Snippets Groups Projects
Unverified Commit b3c3d0e7 authored by Ahmad Farhat's avatar Ahmad Farhat Committed by GitHub
Browse files

Fix failing rspecs (#5554)

* Fix failing rspecs

* more tests
parent 43db66c4
No related branches found
No related tags found
No related merge requests found
......@@ -150,6 +150,7 @@ RSpec.describe Api::V1::Migrations::ExternalController, type: :controller do
name: 'user',
email: 'user@users.com',
provider: 'greenlight',
password_digest: 'fake_password_digest',
language: 'language',
role: valid_user_role.name
}
......@@ -185,8 +186,8 @@ RSpec.describe Api::V1::Migrations::ExternalController, type: :controller do
expect(user.role).to eq(valid_user_role)
expect(user.session_token).to be_present
expect(user.provider).to eq('greenlight')
expect(user.password_digest).to eq(valid_user_params[:password_digest])
expect(response).to have_http_status(:created)
expect(user.password_digest).to be_present
end
it 'creates the user without a password if provider is not greenlight' do
......@@ -251,8 +252,8 @@ RSpec.describe Api::V1::Migrations::ExternalController, type: :controller do
expect(user.role).to eq(valid_user_role)
expect(user.session_token).to be_present
expect(user.provider).to eq('greenlight')
expect(user.password_digest).to eq(valid_user_params[:password_digest])
expect(response).to have_http_status(:created)
expect(user.password_digest).to be_blank
end
end
......@@ -296,14 +297,17 @@ RSpec.describe Api::V1::Migrations::ExternalController, type: :controller do
end
end
context 'when providing a :provider or a :password' do
before { valid_user_params.merge!(password: 'Password1!') }
context 'when providing a valid :password_digest' do
before do
temp_user = create(:user, password: 'Password1!')
valid_user_params.merge!(password_digest: temp_user.password_digest)
end
it 'returns :created and creates a user while ignoring the extra values' do
encrypted_params = encrypt_params({ user: valid_user_params }, expires_in: 10.seconds)
expect { post :create_user, params: { v2: { encrypted_params: } } }.to change(User, :count).from(0).to(1)
expect { post :create_user, params: { v2: { encrypted_params: } } }.to change(User, :count).by(1)
user = User.take
user = User.find_by(email: valid_user_params[:email])
expect(user.name).to eq(valid_user_params[:name])
expect(user.email).to eq(valid_user_params[:email])
expect(user.language).to eq(valid_user_params[:language])
......@@ -311,7 +315,7 @@ RSpec.describe Api::V1::Migrations::ExternalController, type: :controller do
expect(user.session_token).to be_present
expect(user.provider).to eq(valid_user_params[:provider])
expect(response).to have_http_status(:created)
expect(user.authenticate('Password1!')).to be_falsy
expect(user.authenticate('Password1!')).to be_truthy
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment