Не удалось пройти тест «admin-delete-user-account» - PullRequest
0 голосов
/ 30 апреля 2020

Я создал функцию, где администратор может удалить учетную запись пользователя на своей панели инструментов. На практике эта функция успешно работает.

(Я удалил учетные записи пользователей через панель администратора и подтвердил с помощью консоли rails.)

Однако я не могу пройти тест rspe c тестирование этой функции. Всегда возвращается, что учетная запись пользователя все еще присутствует.

Форма на сайте:

<%= 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

1 Ответ

0 голосов
/ 30 апреля 2020

Поскольку вам нужно принять предупреждение «Вы уверены?»

Если вы используете 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
...