Giter Site home page Giter Site logo

Comments (9)

domenic avatar domenic commented on June 20, 2024

.then(function () { callback(); }, function(failure) { callback(failure); });

Or just use .notify(callback)

We originally used the expect() syntax. However, this appears to return the original promise from protractor (or some variation of it)

This should not be the case. Can you produce a repro? Preferably one that does not involve external libraries like protracter?

unless an error message is specified ??? - in which case it throws an exception

This should also not be the case. Again, a repro would be quite helpful.

from chai-as-promised.

networkerror avatar networkerror commented on June 20, 2024

I think I have two issues in here. Should we split them?

Here's what we found on assert's throwing exceptions when error text is supplied.

// This one throws an exception.
assert.eventually.include(promise, expState, 'Custom text!')
  .then(callback);
// This one does not
assert.eventually.include(promise, expState)
  .then(callback);

We tracked this behavior down to these lines of code.
https://github.com/domenic/chai-as-promised/blob/master/lib/chai-as-promised.js#L349-L353

from chai-as-promised.

domenic avatar domenic commented on June 20, 2024

It does not throw an exception. It passes a rejection handler that throws, which causes the returned promise to be rejected.

What type of promises are you using? Are they Promises/A+ compliant?

from chai-as-promised.

networkerror avatar networkerror commented on June 20, 2024

It's webdriver (protractor).

We're trying to use chai-as-promised with cucumber.js and protractor.

from chai-as-promised.

domenic avatar domenic commented on June 20, 2024

If that throws an exception, then they are not Promises/A+ promises, and cannot be used with Chai as Promised.

from chai-as-promised.

networkerror avatar networkerror commented on June 20, 2024

Sounds like protractor (web driver) promises are the root of our problems. Not sure how we'll deal with that...

Thanks for the quick responses!

from chai-as-promised.

domenic avatar domenic commented on June 20, 2024

I wonder if a new major version of Chai as Promised could bundle a promise library with it, and wrap the given promises into real Promises/A+ promises. This would allow it to work with jQuery promises as well. Hmm.

This would probably require removing the UMD wrapper though and just going CommonJS.

from chai-as-promised.

domenic avatar domenic commented on June 20, 2024

In the meantime, I should (a) test to make sure the problem is as I expected; (b) if so, blacklist webdriver promises like I do jQuery promises.

from chai-as-promised.

domenic avatar domenic commented on June 20, 2024

Realized I am already tracking this as #58.

from chai-as-promised.

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.