diff options
Diffstat (limited to 'spec/requests/user_accounts_controller')
-rw-r--r-- | spec/requests/user_accounts_controller/post_user_accounts_spec.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/spec/requests/user_accounts_controller/post_user_accounts_spec.rb b/spec/requests/user_accounts_controller/post_user_accounts_spec.rb new file mode 100644 index 0000000..7c5aacc --- /dev/null +++ b/spec/requests/user_accounts_controller/post_user_accounts_spec.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'POST /api/user_accounts', type: :request do + it_behaves_like 'a POST request' do + let(:headers) { { 'CONTENT_TYPE' => 'application/json' } } + let(:route) { '/api/user_accounts' } + let(:expected_error_messages) do + ["Password can't be blank", 'Email is invalid', "First name can't be blank", "Last name can't be blank", + "Role can't be blank"] + end + let(:desired_error_status) { 422 } + let(:expected_text) { %w[token refresh] } + let(:user) { create(:user_account) } + let(:params) do + { user_account: JSON.parse(user.to_json).except('session_key', 'created_at', 'updated_at', 'id', + 'password_digest').merge({ password: user.password }) } + end + let(:wrong_params) { { user_account: { email: 'notanemail', password: '' } } } + end +end |