From b3c3d0e778e2e8df30e26be8fb70d297c8331479 Mon Sep 17 00:00:00 2001 From: Ahmad Farhat <ahmad.af.farhat@gmail.com> Date: Tue, 21 Nov 2023 11:16:01 -0500 Subject: [PATCH] Fix failing rspecs (#5554) * Fix failing rspecs * more tests --- .../migrations/external_controller_spec.rb | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/spec/controllers/migrations/external_controller_spec.rb b/spec/controllers/migrations/external_controller_spec.rb index f15c6027..1efac7b2 100644 --- a/spec/controllers/migrations/external_controller_spec.rb +++ b/spec/controllers/migrations/external_controller_spec.rb @@ -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 -- GitLab