¿Cómo se invoca un espía con un evento al hacer clic usando jasmine?

Estoy escribiendo un simple controlador de clics y necesito que el evento sea aprobado (así)

Thing = function($){

    var MyObject = function(opts){
        this.opts = opts;
    };

    MyObject.prototype.createSomething = function(){
        var that = this;
        $('#some_dom_element').live('click', function(e) {
            that.doStuff(e);
        });
    };

    MyObject.prototype.doStuff = function(e) {
        //do some javascript stuff ...
        e.preventDefault();
    };

    return MyObject;

}(jQuery);

Actualmente, en mi especificación de jazmín, tengo algo para espiar la función que espero que se invoque (pero como se llama con e -no sin argumentos, mi afirmación está fallando)

    it ("live click handler added to the dom element", function(){
        var doSpy = spyOn(sut, 'doStuff');
        sut.createSomething();
        $("#some_dom_element").trigger('click');
        expect(doSpy).toHaveBeenCalledWith();
    });

¿Cómo puedo corregir este "toHaveBeenCalledWith" para que funcione como espero?

ACTUALIZAR

No pude hacer que la respuesta aceptada funcionara tal como está, pero pude modificarla solo un poco y el siguiente ejemplo es 100% funcional.

    it ("should prevent default on click", function(){
        var event = {
            type: 'click',
            preventDefault: function () {}
        };
        var preventDefaultSpy = spyOn(event, 'preventDefault');
        sut.createSomething();
        $("#some_dom_element").trigger(event);
        expect(preventDefaultSpy).toHaveBeenCalledWith();
    });

Respuestas a la pregunta(1)

Su respuesta a la pregunta