Skip to content

FIX: cancel $timeout promises when calling clearAll (related to #78) #98

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

gkniazkov
Copy link

Benefits:

  • Protractor doesn't wait until timeouts will finish after calling clearAll

This changes are related to issue.
I suppose that use $intervsal instead of $timeout is wrong way, because protractor waits for $timeout and should do it here too.

So with these changes, we can write something like this:

browser.ignoreSynchronization = true;
showNotificationButton.click();
// check if notification appears
browser.executeAsyncScript(clearAllNotifications);
browser.ignoreSynchronization = false;
// test runs and go ahead immediately

function clearAllNotifications(callback) {
    (function() {
        var el = document.querySelector('[ng-app]'); 
        var injector = angular.element(el).injector();
        var Notification = injector.get('Notification');
        var $timeout = injector.get('$timeout');
        Notification.clearAll();
        callback();
    })();
}

…rack#78)

Benefits:
 * Protractor doesn't wait untill timeouts will finish after calling clearAll
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant