_customers_table.html.erb
<table>
<thead>
<tr>
<th>Name</th>
<th>Phone number</th>
<th>Description</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @customers.each do |customer| %>
<tr>
<td><%= customer.name %></td>
<td><%= customer.phone_number %></td>
<td><%= customer.description %></td>
<td><%= link_to customer.status.humanize, toggle_status_customer_path(customer), class: "move-to-black" %></td>
<td><%= link_to 'Show', customer %></td>
<td><%= link_to 'Edit', edit_customer_path(customer) %></td>
<td><%= link_to 'Destroy', customer, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
creating_customer_spec.rb
require 'rails_helper'
describe "creating new customer", type: :feature do
let(:customer) { customer = FactoryBot.create(:customer) }
it 'should create new customer' do
visit '/customers/new'
fill_in 'Name', with: customer.name
fill_in 'Phone number', with: customer.phone_number
click_button 'Create Customer'
expect(page).to have_content "#{customer.name}"
end
it 'should change customer status' do
visit '/'
click_on customer.status.humanize
expect(customer).to have_status "move_to_white_list"
end
end
The first example 'should create new customer' pass but I get error with the second one 'should change customer status'
Capybara::ElementNotFound:
Unable to find link or button "Move to black list"
The element exists and you can see it on the image. I would really appreciate if someone can help.enter image description here
Aucun commentaire:
Enregistrer un commentaire