无法通过'admin-delete-user-account'测试通过

问题描述 投票:0回答:1

我创建了一个函数,管理员可以在其仪表板上删除用户帐户。该功能在实践中成功运行。

((我已通过管理控制台删除了用户帐户,并已通过Rails控制台确认。)

但是,我无法通过rspec测试来通过对该功能的测试。它总是返回用户帐户仍然存在。

网站上的表格:

<%= form_for @user, url: admin_user_path(@user), data: { confirm: 'Are you sure?' }, html: { method: :delete } do |f| %>
  <%= f.submit "Delete account", class:"danger", data: { test: "delete-user-account" } %>
<% end %>

测试:

require 'rails_helper'

RSpec.feature 'deleting users' do
  let!(:admin) { create :admin }

  scenario 'successfully deleted an external user account' do
    sign_in admin, scope: :admin

    user = create(:user)
    visit admin_user_path(user)

    find('[data-test="delete-user-account"]').click

    visit root_path
    expect(user).not_to be_present
  end
end
ruby-on-rails rspec rspec-rails
1个回答
0
投票

因为您需要接受警报“确定吗?”

如果您使用Selenium API,则可以执行以下操作:

find('[data-test="delete-user-account"]').click

page.driver.browser.switch_to.alert.accept

visit root_path
expect(user).not_to be_present
© www.soinside.com 2019 - 2024. All rights reserved.