Giter VIP home page Giter VIP logo

Comments (7)

serbanghita avatar serbanghita commented on June 2, 2024 1

@fatso83 I'll try to clarify:

On timeout property that waitForServerToFulfillRequests uses.

My original goal was to have a way to stop the setInterval checks.
The scenario in my mind was: the tests have failed (eg. 2000 ms passed) and I still do the checks, I want to stop. Testing frameworks allow tests to run even if one failed so I don't want to leave this check in the background.

I could stop the setInterval checks inside waitForServerToFulfillRequests by using a checkCount equal to autoRespondAfter * this.responses.length + 1.

If you refer to my pointing out you need to return a value, it had nothing to do with testing and everything to do with the fact that your example wasn't runnable, as the .then() would result in a NullPointer exception.

I updated the example:

function reloadApp() {
   $.ajax({url: "first/url"}).then(() => {
       $.ajax({url: "second/url"}).then((htmlFragment) => updateDOM(htmlFragment));

      return "<markup />";
   }).then((htmlFragment) => updateDOM(htmlFragment));
}

updateDOM - this can do simple stuff like .appendChild or create/update custom web components.

PS: you can run the POC here https://github.com/serbanghita/karma-mocha-chai-sinon

from nise.

fatso83 avatar fatso83 commented on June 2, 2024

This is like lolex's runAllTimers. Seems like a nice addition?

P.S. For reloadApp().then((r1) ... to work your reloadApp function needs to return something.

from nise.

serbanghita avatar serbanghita commented on June 2, 2024

@fatso83 thanks for pointing that out. I can make a PR, i'm trying to understand how to test this in isolation and in the cotext of Sinon afterwards. I want the timeout property to be dictated from the frameworks timeout settings.

On reloadApp, I didn't care about testing the return value of that, the use case is more about "waiting for all the XHRs to finish"

from nise.

fatso83 avatar fatso83 commented on June 2, 2024

There's too many unclear things you refer to for me to understand what you talk about.

I want the timeout property to be dictated from the frameworks timeout settings.

Which timeout property are you talking about?
The autoRespondAfter timeout? Or the timeout parameter in your example function waitForServerToFulfillRequests?

Which framework are you talking about?
The testing framework? If so, please don't. We don't want test details to be connected with details of Mocha/Ava/... or something else. I don't see any mention of a timeout above. Also, I don't think Mocha exposes hooks to read it, only set it using this.timeout(millis)

On reloadApp, I didn't care about testing the return value of that

What is "that" referring to? If you refer to my pointing out you need to return a value, it had nothing to do with testing and everything to do with the fact that your example wasn't runnable, as the .then() would result in a NullPointer exception.

from nise.

stale avatar stale commented on June 2, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from nise.

fatso83 avatar fatso83 commented on June 2, 2024

This has a PR that's waiting review.

from nise.

stale avatar stale commented on June 2, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from nise.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.