From 2ae0cd8a8dc6d630ee1a7a84ddf6111609dbdeb7 Mon Sep 17 00:00:00 2001 From: HombreLaser Date: Thu, 30 Mar 2023 17:29:40 -0600 Subject: Mejora la estructura de los specs --- .../user_accounts_controller/create_spec.rb | 21 ++++++++++++++++++++ .../create_user_accounts_spec.rb | 21 -------------------- .../requests/user_accounts_controller/show_spec.rb | 12 +++++++++++ .../show_user_accounts_spec.rb | 12 ----------- .../user_accounts_controller/update_spec.rb | 23 ++++++++++++++++++++++ .../update_user_accounts_spec.rb | 23 ---------------------- 6 files changed, 56 insertions(+), 56 deletions(-) create mode 100644 spec/requests/user_accounts_controller/create_spec.rb delete mode 100644 spec/requests/user_accounts_controller/create_user_accounts_spec.rb create mode 100644 spec/requests/user_accounts_controller/show_spec.rb delete mode 100644 spec/requests/user_accounts_controller/show_user_accounts_spec.rb create mode 100644 spec/requests/user_accounts_controller/update_spec.rb delete mode 100644 spec/requests/user_accounts_controller/update_user_accounts_spec.rb (limited to 'spec/requests/user_accounts_controller') diff --git a/spec/requests/user_accounts_controller/create_spec.rb b/spec/requests/user_accounts_controller/create_spec.rb new file mode 100644 index 0000000..a45e02b --- /dev/null +++ b/spec/requests/user_accounts_controller/create_spec.rb @@ -0,0 +1,21 @@ +# 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) { {} } + 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"] + end + let(:desired_error_status) { 422 } + let(:expected_text) { %w[token refresh] } + let(:user) { build(:user_account) } + let(:params) do + { email: user.email, password: user.password, + first_name: user.first_name, last_name: user.last_name } + end + let(:wrong_params) { { email: 'notanemail', password: '', first_name: '', last_name: '' } } + end +end diff --git a/spec/requests/user_accounts_controller/create_user_accounts_spec.rb b/spec/requests/user_accounts_controller/create_user_accounts_spec.rb deleted file mode 100644 index a45e02b..0000000 --- a/spec/requests/user_accounts_controller/create_user_accounts_spec.rb +++ /dev/null @@ -1,21 +0,0 @@ -# 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) { {} } - 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"] - end - let(:desired_error_status) { 422 } - let(:expected_text) { %w[token refresh] } - let(:user) { build(:user_account) } - let(:params) do - { email: user.email, password: user.password, - first_name: user.first_name, last_name: user.last_name } - end - let(:wrong_params) { { email: 'notanemail', password: '', first_name: '', last_name: '' } } - end -end diff --git a/spec/requests/user_accounts_controller/show_spec.rb b/spec/requests/user_accounts_controller/show_spec.rb new file mode 100644 index 0000000..050fda0 --- /dev/null +++ b/spec/requests/user_accounts_controller/show_spec.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +RSpec.describe 'GET /api/account', type: :request do + let(:user) { create(:user_account) } + let(:token) { jwt(user) } + + it_behaves_like 'a GET resource request', sole_route: true do + let(:headers) { { 'Authorization' => "Bearer #{token['token']}"} } + let(:route) { '/api/account' } + let(:expected_text) { [user.email, user.first_name, user.last_name, user.role] } + end +end diff --git a/spec/requests/user_accounts_controller/show_user_accounts_spec.rb b/spec/requests/user_accounts_controller/show_user_accounts_spec.rb deleted file mode 100644 index 050fda0..0000000 --- a/spec/requests/user_accounts_controller/show_user_accounts_spec.rb +++ /dev/null @@ -1,12 +0,0 @@ -# frozen_string_literal: true - -RSpec.describe 'GET /api/account', type: :request do - let(:user) { create(:user_account) } - let(:token) { jwt(user) } - - it_behaves_like 'a GET resource request', sole_route: true do - let(:headers) { { 'Authorization' => "Bearer #{token['token']}"} } - let(:route) { '/api/account' } - let(:expected_text) { [user.email, user.first_name, user.last_name, user.role] } - end -end diff --git a/spec/requests/user_accounts_controller/update_spec.rb b/spec/requests/user_accounts_controller/update_spec.rb new file mode 100644 index 0000000..fcfb28e --- /dev/null +++ b/spec/requests/user_accounts_controller/update_spec.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require 'rails_helper' + +RSpec.describe 'PUT /api/account', type: :request do + let(:user) { create(:user_account) } + let(:data) { build(:user_account) } + let(:token) { jwt(user) } + + it_behaves_like 'a PUT request', account: true do + let(:route) { '/api/account' } + let(:headers) { { 'Authorization' => "Bearer #{token['token']}" } } + let(:params) do + { email: data.email, password: data.password, first_name: data.first_name, last_name: data.last_name } + end + let(:expected_text) { [] } + let(:desired_error_status) { 422 } + let(:wrong_params) { { email: 'notanemail', password: '', first_name: '', last_name: '' } } + let(:expected_error_messages) do + ['Email is invalid', "First name can't be blank", "Last name can't be blank"] + end + end +end diff --git a/spec/requests/user_accounts_controller/update_user_accounts_spec.rb b/spec/requests/user_accounts_controller/update_user_accounts_spec.rb deleted file mode 100644 index fcfb28e..0000000 --- a/spec/requests/user_accounts_controller/update_user_accounts_spec.rb +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -require 'rails_helper' - -RSpec.describe 'PUT /api/account', type: :request do - let(:user) { create(:user_account) } - let(:data) { build(:user_account) } - let(:token) { jwt(user) } - - it_behaves_like 'a PUT request', account: true do - let(:route) { '/api/account' } - let(:headers) { { 'Authorization' => "Bearer #{token['token']}" } } - let(:params) do - { email: data.email, password: data.password, first_name: data.first_name, last_name: data.last_name } - end - let(:expected_text) { [] } - let(:desired_error_status) { 422 } - let(:wrong_params) { { email: 'notanemail', password: '', first_name: '', last_name: '' } } - let(:expected_error_messages) do - ['Email is invalid', "First name can't be blank", "Last name can't be blank"] - end - end -end -- cgit v1.2.3