No sé cómo ejecutar esta prueba de Jasmine para mi JS y seguramente también otras personas tienen este problema. Tal vez estoy equivocado o tal vez sea imposible, no encontré ninguna pista sobre esto. El problema tiene que ver con el hecho de que, en jQuery, $ (esto) no es lo mismo que el elemento elegido, p. $ ("# Esto-id"):
Javascript:
[..]
$("#button-id").on("click", function(e) { callSomeFunctionWith($(this)); });
Jasmine-Test (CoffeeScript):
[..]
spyOn some.object, "callSomeFunctionWith"
spyOnEvent($("#button-id"), 'click')
$("#button-id").trigger("click")
expect(some.object.callSomeFunctionWith).toHaveBeenCalledWith($("#button-id"))
Desafortunadamente no pasa esta prueba (con cualquier variación, como el almacenamiento que el árbitro en una variable primero en mi prueba de Jasmine), porque la función NO se llama con $ ("# button-id"), sino que se llama con $ (this), y $ (this)! = $ ("# button- carné de identidad").
¿Alguien me puede decir cómo lograr esta prueba? Estoy perdido. Incluso Remy Sharp's great article on jQuery and $(this) no me ayudó más.