From 43eb62f08e0d59e5654b3807b35f2037e619363b Mon Sep 17 00:00:00 2001 From: zinyando Date: Wed, 25 May 2016 21:13:15 +0200 Subject: [PATCH] Add wait-to-appear helper --- app/tests/helpers/wait-to-appear.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 app/tests/helpers/wait-to-appear.js diff --git a/app/tests/helpers/wait-to-appear.js b/app/tests/helpers/wait-to-appear.js new file mode 100644 index 00000000..d700120d --- /dev/null +++ b/app/tests/helpers/wait-to-appear.js @@ -0,0 +1,22 @@ +import Ember from 'ember'; + +function isVisible(selector) { + return $(selector).length > 0; +} + +function checkVisibility(selector, interval, resolve, visibility) { + if (isVisible(selector) === visibility) { + resolve($(selector)); + } else { + console.log('waiting for visibility'); + Ember.run.later(null, function() { + checkVisibility(selector, interval, resolve, visibility); + }, interval); + } +} + +export default Ember.Test.registerAsyncHelper('waitToAppear', function(app, selector, interval = 200) { + return new Ember.RSVP.Promise(function(resolve) { + checkVisibility(selector, interval, resolve, true); + }); +});