helpers for mocha, when using coffee-script and bluebird
These are a few small helpers for mocha, that simplify your test boilerplate if you use bluebird.
Each function is intended to be a mixin for a unit test, so for example, if you have a test like this:
it"adds numbers"2 + 2shouldeql4;;
you can add each helper as a wrapper around the test function, like this:
it"adds numbers"Promiseresolve2 + 2thensumshouldeql4;;;
Wrap a test function that returns a future. Mocha's
done hooks are attached to the future so that the test doesn't complete until the future is resolved.
it"waits 100 ms" futurereturn Qdelay100;;
Wrap a test function so that it runs inside a temporary folder. The folder's name is passed as the first parameter, and the test is expected to return a future. When the future is resolved, the temporary folder is deleted (along with any contents).
This function requires
future also, since the cleanup is attached to the result future.
it"creates a file" futurewithTempFolderfswriteFileSyncfolder + "/new-file" "hello!";;
Execute a program as a future. The parameters are passed to
child_process.exec as-is and a future is returned. If the exec is successful, the future is resolved with an object with these fields:
If the exec fails, the future is rejected, and the error object will have those three fields added to it.
it"runs echo" futurereturn exec"echo hello"thenresultstdoutshouldmatch/hello/;;;