Чтобы сделать именно то, что вы просите, самое простое решение будет выглядеть примерно так:
it 'shows up popup with form' do
expect(page).not_to have_css('#data-modal.show')
page.find('.btn-success').click
expect(page).to have_css('#data-modal.show')
end
Однако вам не следует проверять наличие определенных классов в тестах возможностей.Вместо этого вы должны проверить, что модал действительно появляется.Поскольку это поведение, управляемое JS, это означает, что ваш тест выполняется с драйвером, поддерживающим JS, убедитесь, что вы не установили для Capybara.ignore_hidden_elements
значение false, а затем выполните
it 'shows up popup with form' do
# Should initially be hidden so won't be found
expect(page).not_to have_css('#data-modal')
page.find('.btn-success').click
# Should now be found
expect(page).to have_css('#data-modal')
end