Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting "is not a thenable" message while using "eventually" in protractor chai

When I tried to verify the condition as below.

 var val1 = "ONE";
 var val2 = "TWO";
 expect(val1==val2).to.eventually.equal(false)

I'm getting false is not a thenable message, If I removed eventually condition as below then it working fine.

 var val1 = "ONE";
 var val2 = "TWO";
 expect(val1==val2).to.equal(false)

Can anyone help me to understand the difference. Also If the condition fails, It displays the error message and not executing the hooks.js.

like image 800
KAK Avatar asked Jul 04 '17 08:07

KAK


1 Answers

In simple words:

eventually - is a method from chai-as-promised. If you use eventually protractor expects that you are asserting result of a promise to value (in this case false). val1 and val2 are bools. Comparison of val1 and val2 is also a bool.

Bool is not a promise.

You've got two possibilities: 1. Don't use eventually (just a chai). 2. Return a promise from comparison of those values.

like image 178
Kacper Avatar answered Oct 01 '22 11:10

Kacper