Je construis mes tests d'intégrations, et je dois assurer qu'une balise HTML a un entier spécifique en tant que valeur, mais je reçois cette erreur:Comment faire pour assert_select dans un test d'intégration sélectionnez une classe css?
ReportsTest
test_report_shows_the_right_data_for_last_30_days ERROR (0.94s)
NoMethodError: NoMethodError: undefined method `content_type' for nil:NilClass
test/integration/reports_test.rb:15:in `block in <class:ReportsTest>'
test/test_helper.rb:45:in `instance_eval'
test/test_helper.rb:45:in `block in test'
Voici mon avis:
<div class="panel panel-default report-summary">
<div class="panel-heading">
<h3 class="panel-title">Resumen</h3>
</div>
<div class="panel-body">
<div class="row">
<div class="col-sm-4 summary-item">
<div class="summary-value resources-count"><%= @resources_count %></div>
<div class="summary-label">Recursos Publicados</div>
</div>
<div class="col-sm-4 summary-item">
<div class="summary-value"><%= @likes_count %></div>
<div class="summary-label">Likes</div>
</div>
<div class="col-sm-4 summary-item">
<div class="summary-value"><%= @searches_count %></div>
<div class="summary-label">Búsquedas</div>
</div>
</div>
<div class="row">
<div class="col-sm-4 summary-item">
<div class="summary-value"><%= @comments_count %></div>
<div class="summary-label">Comentarios</div>
</div>
<div class="col-sm-4 summary-item">
<div class="summary-value"><%= @views_count %></div>
<div class="summary-label">Vistas</div>
</div>
<div class="col-sm-4 summary-item">
<div class="summary-value"><%= @users.count %></div>
<div class="summary-label">Colaboradores</div>
</div>
</div>
</div>
</div>
Ceci est mon test:
require 'test_helper'
class ReportsTest < ActionDispatch::IntegrationTest
test 'show report without time range', subdomain: :mainco do
sign_in users(:juan)
visit reports_path
assert_equal 2, page.all(".report-resources table tbody tr").count
end
test 'report shows the right data for last 30 days', subdomain: :mainco do
sign_in users(:juan)
visit reports_path
knowledge_bases(:sales).resources.create!(user: users(:juan),
title: "JavaScript", type: "Discussion", created_at: 31.days.ago)
assert_select ".resources-count" do |elements|
elements.each do |element|
assert_equal element, 1
end
end
end
end
Il semble que mon assert_select ne trouve pas correctement la balise HTML avec la classe css ressources comptage.
Merci d'avoir lu.