diff --git a/spec/features/user_spec.rb b/spec/features/user_spec.rb index e12c49442..935116b48 100644 --- a/spec/features/user_spec.rb +++ b/spec/features/user_spec.rb @@ -144,21 +144,6 @@ RSpec.describe "User Features" do expect(page).to have_current_path("/users/#{user.id}") end - it "main page is present and accessible" do - visit("/users/#{user.id}") - expect(page).to have_content("Your account") - end - - it "personal details page is present and accessible" do - visit("/users/#{user.id}/edit") - expect(page).to have_content("Change your personal details") - end - - it "edit password page present and accessible" do - visit("users/#{user.id}/password/edit") - expect(page).to have_content("Change your password") - end - it "can navigate to change your password page from main account page" do visit("/users/#{user.id}") find('[data-qa="change-password"]').click diff --git a/spec/requests/user_controller_spec.rb b/spec/requests/user_controller_spec.rb new file mode 100644 index 000000000..bccd2dd31 --- /dev/null +++ b/spec/requests/user_controller_spec.rb @@ -0,0 +1,41 @@ +require "rails_helper" +require_relative "../support/devise" + +RSpec.describe UsersController, type: :request do + let(:user) { FactoryBot.create(:user) } + let(:headers) { { "Accept" => "text/html" } } + let(:page) { Capybara::Node::Simple.new(response.body) } + + describe "#show" do + before do + sign_in user + get "/users/#{user.id}", headers: headers, params: {} + end + + it "show the user details" do + expect(page).to have_content("Your account") + end + end + + describe "#edit" do + before do + sign_in user + get "/users/#{user.id}/edit", headers: headers, params: {} + end + + it "show the edit personal details page" do + expect(page).to have_content("Change your personal details") + end + end + + describe "#edit_password" do + before do + sign_in user + get "/users/#{user.id}/password/edit", headers: headers, params: {} + end + + it "show the edit password page" do + expect(page).to have_content("Change your password") + end + end +end