Сброс spyOnEvent на документе - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь отследить пользовательское событие на основе некоторых данных, для этого я слежу за своим пользовательским событием и ожидаю, что событие получит триггер или нет.Здесь я пытаюсь сбросить мой spyevent, все, что я получаю, это неопределенная ошибка

TypeError: undefined is not an object (evaluating 'spyOnEvent(document, 'product.trackVariantChanged').calls.reset')

it('selects a variant without triggering the product.trackVariantChanged event on document', function() {
            spyOnEvent(document, 'variantChanged');
            spyOnEvent(document, 'product.trackVariantChanged').calls.reset();
            App.ColorSelector.init(); // this function automatically calls custom triggers when it calls

            App.ColorSelector.selectVariant($colorSelector, 'wms_III_black'); //this function has a depedency on init()

            expect('variantChanged').toHaveBeenTriggeredOn(document);
        expect('product.trackVariantChanged').not.toHaveBeenTriggeredOn(document);  

            App.ColorSelector.selectVariant($colorSelector, 'wms_III_white');

            expect('variantChanged').toHaveBeenTriggeredOn(document);
        expect('product.trackVariantChanged').not.toHaveBeenTriggeredOn(document);  
        });

из приведенного выше случая App.ColorSelector.init(); эта функция автоматически вызывает / должна получить вызов fisr и инициирует пользовательское событиеи App.ColorSelector.selectVariant($colorSelector, 'wms_III_black'); эта функция зависит от функции init ()
Поэтому я хочу сбросить шпиона до вызова функции selectVariant.

1 Ответ

0 голосов
/ 24 апреля 2019

Для spyOnEvent вместо calls.reset() используйте spyOnEvent(document, 'customEvent').reset();, это будет работать.

...