require "rails_helper" describe "Users" do scenario "Create a level 3 user with email from scratch" do login_as_manager visit management_document_verifications_path fill_in "Document number", with: "12345678Z" click_button "Check document" expect(page).to have_content "Please introduce the email used on the account" click_link "Create a new account" fill_in "user_username", with: "pepe" fill_in "user_email", with: "pepe@gmail.com" fill_in "Date of birth", with: Date.new(1980, 12, 31) click_button "Create user" expect(page).to have_content "We have sent an email" expect(page).not_to have_content "Autogenerated password is" visit management_document_verifications_path fill_in "Document number", with: "12345678Z" click_button "Check document" expect(page).to have_content "This user account is already verified" sent_token = /.*confirmation_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1] visit user_confirmation_path(confirmation_token: sent_token) expect(page).to have_content "Confirming the account with email" fill_in "user_password", with: "12345678" fill_in "user_password_confirmation", with: "12345678" click_button "Confirm" expect(page).to have_content "Your account has been confirmed." visit account_path expect(page).to have_field "Username", with: "pepe" expect(page).to have_content "Account verified" end scenario "Create a level 3 user without email from scratch" do login_as_manager visit management_document_verifications_path fill_in "document_verification_document_number", with: "12345678Z" click_button "Check document" expect(page).to have_content "Please introduce the email used on the account" click_link "Create a new account" fill_in "user_username", with: "Kelly Sue" fill_in "user_email", with: "" fill_in "Date of birth", with: Date.new(1980, 12, 31) click_button "Create user" expect(page).not_to have_content "We have sent an email" generated_password = find("p", text: "Autogenerated password is").find("b").text visit management_document_verifications_path fill_in "Document number", with: "12345678Z" click_button "Check document" expect(page).to have_content "This user account is already verified" logout login_through_form_with("Kelly Sue", password: generated_password) expect(page).to have_content "You have been signed in successfully." visit account_path expect(page).to have_content "Account verified" end scenario "Delete a level 2 user account from document verification page" do level_2_user = create(:user, :level_two, document_number: "12345678Z") manager = create(:manager) administrator = create(:administrator) login_as_manager(manager) visit management_document_verifications_path fill_in "document_verification_document_number", with: "12345678Z" click_button "Check document" expect(page).to have_content "This user can participate in the website with the following permissions" expect(page).not_to have_content "This user account is already verified." click_link "Delete user" accept_confirm { click_button "Delete account" } expect(page).to have_content "User account deleted." fill_in "document_verification_document_number", with: "12345678Z" click_button "Check document" expect(page).to have_content "no user account associated to it" logout login_as(administrator.user) visit admin_users_path(filter: "erased") within "tr", text: level_2_user.id do expect(page).to have_content "Deleted by manager: manager_user_#{manager.user_id}" end end end