/ / स्वीकृति परीक्षण में स्क्रॉल इवेंट को कैसे ट्रिगर किया जाए - ember.js, ember-cli

स्वीकृति परीक्षण में स्क्रॉल इवेंट कैसे ट्रिगर करें - ember.js, एम्बर-क्ली

मुझे अनंत स्क्रॉलिंग का परीक्षण करने के लिए विंडो स्क्रॉल इवेंट को ट्रिगर करने की आवश्यकता है, मैंने "उपयोग करने की कोशिश की है triggerEvent, लेकिन ऐसा लगता है कि मुझे कुछ याद आ रहा है और यहdoesn "t काम। मैं" एम्बर 2.0 का उपयोग कर रहा हूं और सूची घटक के अंदर प्रदान की जाती है अगर यह मायने रखता है। अंतिम 2 अभिकथनों पर परीक्षण विफल हो जाता है, स्क्रॉलिंग स्थिति के बाद स्क्रॉल स्थिति में परिवर्तन नहीं होता है

test "loads more items when scrolling", (assert) ->
visit "/locations/1"
andThen ->
assert.equal(find(".items-list li").length, 30)

find(window).scrollTop(10000)
triggerEvent(window, "scroll")

andThen ->
assert.ok(find(window).scrollTop() > 0, "window should scroll")
assert.ok(find(".items-list li").length > 30, "should load more items after reaching threshold")

क्या किसी ने अपने परीक्षणों में स्क्रॉल इवेंट को सफलतापूर्वक ट्रिगर किया है?

उत्तर:

उत्तर № 1 के लिए 1

अंत में मैं यह काम कर सकता है! उपयोग किया गया #ember-testing-container बजाय खिड़की।

नीचे दिया गया कोड मेरे लिए काम कर रहा था:

andThen(() => {
Ember.$("#ember-testing-container").scrollTop(10000);
});

triggerEvent(Ember.$("#ember-testing-container"), "scroll");

andThen(() => {
assert.ok(Ember.$("#ember-testing-container").scrollTop() > 0, "window should scroll")
});

साथ में ember-infinity आपको परीक्षण शुरू करने से पहले शरीर को नीचे स्क्रॉल करना होगा:

Ember.$("body").scrollTop(2000);

जवाब के लिए 0 № 2

मेरे पास इसके लिए एक संभावित उत्तर है।

प्रयत्न

triggerEvent(".skip-button", "scroll", [{isInTestEnvironment:true}] ).then...

कहो .skip- बटन आपके एम्बर ऐप के भीतर एक चयनकर्ता है, लेकिन यह कोई भी हो सकता है।

स्क्रॉल इवेंट को एम्बर ऐप द्वारा पता लगाया जाता है, जैसे कि यह वास्तव में कुछ भी "t स्क्रॉल नहीं करता है ... यही कारण है कि मैं एक isInestestnnvironment पास करता हूं: एम्बर ऐप को इंगित करने के लिए सच्चा परम मैंने एक उपयोगकर्ता स्क्रॉल को नकली किया है।

एक आदर्श समाधान नहीं है, लेकिन अब तक किसी भी परीक्षण से बेहतर है।