Je suis en train de faire le test suivant:Vérifiez si Capybara :: node :: élément a été supprimé par jQuery.remove()
it 'remove item from cart' do
visit cart_path
button = page.find("a[href='/carts/#{item.id}/remove']")
card = find_ancestor_with_class(button, '.card')
button.click
# check if card has been removed from page
end
Ce test est suppossed travailler parce que le JS suivant supprime la carte de la page:
$.ajax({
url: link,
method: "GET",
success: function() {
$('#alert-modal').modal('show');
$(button).closest(".card").remove();
}
});
Comment je vérifie si le fichier html .card
a été supprimé de la page?
Mais il n'y a pas moyen de vérifier en utilisant 'card'? –
@RodrigoChaves Pas vraiment, selon exactement comment 'carte' est situé, quand l'élément est enlevé' card' peut effectivement pointer vers un nouvel élément, comme on peut le voir dans la démo - https://gist.github.com/ twalpole/ac5c893a6f1f27ba3005908421d3e45d - dans lequel 'card' pointe vers les trois éléments' .card' de la page lorsque les éléments sont supprimés. Ceci est dû au rechargement automatique de Capybaras qui traite les actualisations/rechargements de pages dynamiques. Les tests doivent vraiment se concentrer sur ce que l'utilisateur voit sur la page plutôt que de se préoccuper d'éléments spécifiques. –